{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"1044\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = true;\n",
       "\n",
       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
       "    root._bokeh_onload_callbacks = [];\n",
       "    root._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var script = document.createElement(\"script\");\n",
       "    node.appendChild(script);\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when an output is cleared or removed\n",
       "   */\n",
       "  function handleClearOutput(event, handle) {\n",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
       "      cell.notebook.kernel.execute(cmd, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
       "\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
       "      // store reference to embed id on output_area\n",
       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
       "    }\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "        toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[toinsert.length - 1]);\n",
       "      element.append(toinsert);\n",
       "      return toinsert\n",
       "    }\n",
       "\n",
       "    /* Handle when an output is cleared or removed */\n",
       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
       "    events.on('delete.Cell', handleClearOutput);\n",
       "\n",
       "    /* Handle when a new output is added */\n",
       "    events.on('output_added.OutputArea', handleAddOutput);\n",
       "\n",
       "    /**\n",
       "     * Register the mime type and append_mime function with output_area\n",
       "     */\n",
       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
       "      /* Is output safe? */\n",
       "      safe: true,\n",
       "      /* Index of renderer in `output_area.display_order` */\n",
       "      index: 0\n",
       "    });\n",
       "  }\n",
       "\n",
       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
       "  if (root.Jupyter !== undefined) {\n",
       "    var events = require('base/js/events');\n",
       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
       "\n",
       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
       "      register_renderer(events, OutputArea);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  \n",
       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
       "    root._bokeh_timeout = Date.now() + 5000;\n",
       "    root._bokeh_failed_load = false;\n",
       "  }\n",
       "\n",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\n\"+\n",
       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(\"1044\");\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\n",
       "  }\n",
       "\n",
       "\n",
       "  function run_callbacks() {\n",
       "    try {\n",
       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
       "        if (callback != null)\n",
       "          callback();\n",
       "      });\n",
       "    } finally {\n",
       "      delete root._bokeh_onload_callbacks\n",
       "    }\n",
       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(css_urls, js_urls, callback) {\n",
       "    if (css_urls == null) css_urls = [];\n",
       "    if (js_urls == null) js_urls = [];\n",
       "\n",
       "    root._bokeh_onload_callbacks.push(callback);\n",
       "    if (root._bokeh_is_loading > 0) {\n",
       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
       "\n",
       "    function on_load() {\n",
       "      root._bokeh_is_loading--;\n",
       "      if (root._bokeh_is_loading === 0) {\n",
       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
       "        run_callbacks()\n",
       "      }\n",
       "    }\n",
       "\n",
       "    function on_error() {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < css_urls.length; i++) {\n",
       "      var url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n",
       "\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      if (url in hashes) {\n",
       "        element.crossOrigin = \"anonymous\";\n",
       "        element.integrity = \"sha384-\" + hashes[url];\n",
       "      }\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };\n",
       "\n",
       "  function inject_raw_css(css) {\n",
       "    const element = document.createElement(\"style\");\n",
       "    element.appendChild(document.createTextNode(css));\n",
       "    document.body.appendChild(element);\n",
       "  }\n",
       "\n",
       "  \n",
       "  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n",
       "  var css_urls = [];\n",
       "  \n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    function(Bokeh) {\n",
       "    \n",
       "    \n",
       "    }\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if (root.Bokeh !== undefined || force === true) {\n",
       "      \n",
       "    for (var i = 0; i < inline_js.length; i++) {\n",
       "      inline_js[i].call(root, root.Bokeh);\n",
       "    }\n",
       "    if (force === true) {\n",
       "        display_loaded();\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(\"1044\")).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(css_urls, js_urls, function() {\n",
       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1044\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      if (url in hashes) {\n        element.crossOrigin = \"anonymous\";\n        element.integrity = \"sha384-\" + hashes[url];\n      }\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  \n  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n  var css_urls = [];\n  \n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    function(Bokeh) {\n    \n    \n    }\n  ];\n\n  function run_inline_js() {\n    \n    if (root.Bokeh !== undefined || force === true) {\n      \n    for (var i = 0; i < inline_js.length; i++) {\n      inline_js[i].call(root, root.Bokeh);\n    }\n    if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1044\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.plotting import output_notebook,figure,show\n",
    "output_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: matplotlib in c:\\users\\a\\anaconda3\\lib\\site-packages (3.2.2)\n",
      "Requirement already satisfied: kiwisolver>=1.0.1 in c:\\users\\a\\anaconda3\\lib\\site-packages (from matplotlib) (1.2.0)\n",
      "Requirement already satisfied: cycler>=0.10 in c:\\users\\a\\anaconda3\\lib\\site-packages (from matplotlib) (0.10.0)\n",
      "Requirement already satisfied: python-dateutil>=2.1 in c:\\users\\a\\anaconda3\\lib\\site-packages (from matplotlib) (2.8.1)\n",
      "Requirement already satisfied: numpy>=1.11 in c:\\users\\a\\anaconda3\\lib\\site-packages (from matplotlib) (1.18.5)\n",
      "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\\users\\a\\anaconda3\\lib\\site-packages (from matplotlib) (2.4.7)\n",
      "Requirement already satisfied: six in c:\\users\\a\\anaconda3\\lib\\site-packages (from cycler>=0.10->matplotlib) (1.15.0)\n"
     ]
    }
   ],
   "source": [
    "!pip install matplotlib"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 全国高校分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('高校信息.json','r',encoding='utf-8') as f:\n",
    "    data = json.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'schools': [{'province_name': '北京市',\n",
       "   'cities': [{'city_name': '北京市',\n",
       "     'universities': ['北京大学',\n",
       "      '中国人民大学',\n",
       "      '清华大学',\n",
       "      '北京交通大学',\n",
       "      '北京工业大学',\n",
       "      '北京航空航天大学',\n",
       "      '北京理工大学',\n",
       "      '北京科技大学',\n",
       "      '北方工业大学',\n",
       "      '北京化工大学',\n",
       "      '北京工商大学',\n",
       "      '北京服装学院',\n",
       "      '北京邮电大学',\n",
       "      '北京印刷学院',\n",
       "      '北京建筑大学',\n",
       "      '北京石油化工学院',\n",
       "      '北京电子科技学院',\n",
       "      '中国农业大学',\n",
       "      '北京农学院',\n",
       "      '北京林业大学',\n",
       "      '北京协和医学院',\n",
       "      '首都医科大学',\n",
       "      '北京中医药大学',\n",
       "      '北京师范大学',\n",
       "      '首都师范大学',\n",
       "      '首都体育学院',\n",
       "      '北京外国语大学',\n",
       "      '北京第二外国语学院',\n",
       "      '北京语言大学',\n",
       "      '中国传媒大学',\n",
       "      '中央财经大学',\n",
       "      '对外经济贸易大学',\n",
       "      '北京物资学院',\n",
       "      '首都经济贸易大学',\n",
       "      '外交学院',\n",
       "      '中国人民公安大学',\n",
       "      '国际关系学院',\n",
       "      '北京体育大学',\n",
       "      '中央音乐学院',\n",
       "      '中国音乐学院',\n",
       "      '中央美术学院',\n",
       "      '中央戏剧学院',\n",
       "      '中国戏曲学院',\n",
       "      '北京电影学院',\n",
       "      '北京舞蹈学院',\n",
       "      '中央民族大学',\n",
       "      '中国政法大学',\n",
       "      '华北电力大学',\n",
       "      '中华女子学院',\n",
       "      '北京信息科技大学',\n",
       "      '中国矿业大学（北京）',\n",
       "      '中国石油大学（北京）',\n",
       "      '中国地质大学（北京）',\n",
       "      '北京联合大学',\n",
       "      '北京城市学院',\n",
       "      '中国青年政治学院',\n",
       "      '首钢工学院',\n",
       "      '中国劳动关系学院',\n",
       "      '北京吉利学院',\n",
       "      '首都师范大学科德学院',\n",
       "      '北京工商大学嘉华学院',\n",
       "      '北京邮电大学世纪学院',\n",
       "      '北京工业大学耿丹学院',\n",
       "      '北京警察学院',\n",
       "      '北京第二外国语学院中瑞酒店管理学院',\n",
       "      '中国科学院大学',\n",
       "      '中国社会科学院大学',\n",
       "      '北京工业职业技术学院',\n",
       "      '北京信息职业技术学院',\n",
       "      '北京电子科技职业学院',\n",
       "      '北京京北职业技术学院',\n",
       "      '北京交通职业技术学院',\n",
       "      '北京青年政治学院',\n",
       "      '北京农业职业学院',\n",
       "      '北京政法职业学院',\n",
       "      '北京财贸职业学院',\n",
       "      '北京北大方正软件职业技术学院',\n",
       "      '北京经贸职业学院',\n",
       "      '北京经济技术职业学院',\n",
       "      '北京戏曲艺术职业学院',\n",
       "      '北京汇佳职业学院',\n",
       "      '北京科技经营管理学院',\n",
       "      '北京科技职业学院',\n",
       "      '北京培黎职业学院',\n",
       "      '北京经济管理职业学院',\n",
       "      '北京劳动保障职业学院',\n",
       "      '北京社会管理职业学院',\n",
       "      '北京艺术传媒职业学院',\n",
       "      '北京体育职业学院',\n",
       "      '北京交通运输职业学院',\n",
       "      '北京卫生职业学院',\n",
       "      '北京网络职业学院']}]},\n",
       "  {'province_name': '天津市',\n",
       "   'cities': [{'city_name': '天津市',\n",
       "     'universities': ['南开大学',\n",
       "      '天津大学',\n",
       "      '天津科技大学',\n",
       "      '天津工业大学',\n",
       "      '中国民航大学',\n",
       "      '天津理工大学',\n",
       "      '天津农学院',\n",
       "      '天津医科大学',\n",
       "      '天津中医药大学',\n",
       "      '天津师范大学',\n",
       "      '天津职业技术师范大学',\n",
       "      '天津外国语大学',\n",
       "      '天津商业大学',\n",
       "      '天津财经大学',\n",
       "      '天津体育学院',\n",
       "      '天津音乐学院',\n",
       "      '天津美术学院',\n",
       "      '天津城建大学',\n",
       "      '天津天狮学院',\n",
       "      '天津中德应用技术大学',\n",
       "      '天津外国语大学滨海外事学院',\n",
       "      '天津体育学院运动与文化艺术学院',\n",
       "      '天津商业大学宝德学院',\n",
       "      '天津医科大学临床医学院',\n",
       "      '南开大学滨海学院',\n",
       "      '天津师范大学津沽学院',\n",
       "      '天津理工大学中环信息学院',\n",
       "      '北京科技大学天津学院',\n",
       "      '天津大学仁爱学院',\n",
       "      '天津财经大学珠江学院',\n",
       "      '天津市职业大学',\n",
       "      '天津滨海职业学院',\n",
       "      '天津工程职业技术学院',\n",
       "      '天津青年职业学院',\n",
       "      '天津渤海职业技术学院',\n",
       "      '天津电子信息职业技术学院',\n",
       "      '天津机电职业技术学院',\n",
       "      '天津现代职业技术学院',\n",
       "      '天津公安警官职业学院',\n",
       "      '天津轻工职业技术学院',\n",
       "      '天津商务职业学院',\n",
       "      '天津国土资源和房屋职业学院',\n",
       "      '天津医学高等专科学校',\n",
       "      '天津开发区职业技术学院',\n",
       "      '天津艺术职业学院',\n",
       "      '天津交通职业学院',\n",
       "      '天津冶金职业技术学院',\n",
       "      '天津石油职业技术学院',\n",
       "      '天津城市职业学院',\n",
       "      '天津铁道职业技术学院',\n",
       "      '天津工艺美术职业学院',\n",
       "      '天津城市建设管理职业技术学院',\n",
       "      '天津生物工程职业技术学院',\n",
       "      '天津海运职业学院',\n",
       "      '天津广播影视职业学院',\n",
       "      '天津体育职业学院',\n",
       "      '天津滨海汽车工程职业学院']}]},\n",
       "  {'province_name': '河北省',\n",
       "   'cities': [{'city_name': '邯郸市',\n",
       "     'universities': ['邯郸学院',\n",
       "      '河北工程大学科信学院',\n",
       "      '邯郸职业技术学院',\n",
       "      '河北司法警官职业学院',\n",
       "      '河北工程大学']},\n",
       "    {'city_name': '石家庄市',\n",
       "     'universities': ['河北科技大学',\n",
       "      '河北医科大学',\n",
       "      '河北师范大学',\n",
       "      '石家庄学院',\n",
       "      '石家庄铁道大学',\n",
       "      '河北体育学院',\n",
       "      '河北经贸大学',\n",
       "      '河北传媒学院',\n",
       "      '河北外国语学院',\n",
       "      '河北科技大学理工学院',\n",
       "      '石家庄铁道大学四方学院',\n",
       "      '河北中医学院',\n",
       "      '河北工业职业技术学院',\n",
       "      '石家庄职业技术学院',\n",
       "      '河北政法职业学院',\n",
       "      '石家庄铁路职业技术学院',\n",
       "      '石家庄工程职业学院',\n",
       "      '河北省艺术职业学院',\n",
       "      '石家庄财经职业学院',\n",
       "      '石家庄邮电职业技术学院',\n",
       "      '河北女子职业技术学院',\n",
       "      '石家庄人民医学高等专科学校',\n",
       "      '石家庄幼儿师范高等专科学校',\n",
       "      '河北轨道运输职业技术学院',\n",
       "      '河北地质大学']},\n",
       "    {'city_name': '天津市', 'universities': ['河北工业大学']},\n",
       "    {'city_name': '唐山市',\n",
       "     'universities': ['唐山师范学院',\n",
       "      '唐山学院',\n",
       "      '华北理工大学轻工学院',\n",
       "      '华北理工大学冀唐学院',\n",
       "      '河北能源职业技术学院',\n",
       "      '唐山职业技术学院',\n",
       "      '唐山工业职业技术学院',\n",
       "      '唐山科技职业技术学院',\n",
       "      '唐山幼儿师范高等专科学校',\n",
       "      '华北理工大学']},\n",
       "    {'city_name': '张家口市',\n",
       "     'universities': ['河北北方学院', '张家口学院', '张家口职业技术学院', '宣化科技职业学院', '河北建筑工程学院']},\n",
       "    {'city_name': '沧州市',\n",
       "     'universities': ['沧州师范学院',\n",
       "      '北京交通大学海滨学院',\n",
       "      '沧州职业技术学院',\n",
       "      '渤海石油职业学院',\n",
       "      '沧州医学高等专科学校',\n",
       "      '泊头职业学院',\n",
       "      '渤海理工职业学院',\n",
       "      '河北水利电力学院']},\n",
       "    {'city_name': '承德市',\n",
       "     'universities': ['河北民族师范学院',\n",
       "      '承德石油高等专科学校',\n",
       "      '河北旅游职业学院',\n",
       "      '承德护理职业学院',\n",
       "      '承德医学院']},\n",
       "    {'city_name': '廊坊市',\n",
       "     'universities': ['华北科技学院',\n",
       "      '北华航天工业学院',\n",
       "      '河北工业大学城市学院',\n",
       "      '燕京理工学院',\n",
       "      '河北东方学院',\n",
       "      '河北石油职业技术学院',\n",
       "      '廊坊职业技术学院',\n",
       "      '廊坊燕京职业技术学院',\n",
       "      '廊坊卫生职业学院',\n",
       "      '廊坊师范学院']},\n",
       "    {'city_name': '衡水市', 'universities': ['衡水职业技术学院', '衡水学院']},\n",
       "    {'city_name': '邢台市',\n",
       "     'universities': ['邢台职业技术学院', '邢台医学高等专科学校', '河北机电职业技术学院', '邢台学院']},\n",
       "    {'city_name': '秦皇岛市',\n",
       "     'universities': ['燕山大学里仁学院',\n",
       "      '河北环境工程学院',\n",
       "      '河北建材职业技术学院',\n",
       "      '秦皇岛职业技术学院',\n",
       "      '河北对外经贸职业学院',\n",
       "      '燕山大学']},\n",
       "    {'city_name': '保定市',\n",
       "     'universities': ['河北农业大学',\n",
       "      '保定学院',\n",
       "      '河北大学',\n",
       "      '河北科技师范学院',\n",
       "      '河北金融学院',\n",
       "      '中国人民武装警察部队学院',\n",
       "      '中央司法警官学院',\n",
       "      '防灾科技学院',\n",
       "      '河北工程技术学院',\n",
       "      '河北科技学院',\n",
       "      '河北大学工商学院',\n",
       "      '河北美术学院',\n",
       "      '河北师范大学汇华学院',\n",
       "      '河北经贸大学经济管理学院',\n",
       "      '华北电力大学科技学院',\n",
       "      '河北医科大学临床学院',\n",
       "      '河北农业大学现代科技学院',\n",
       "      '中国地质大学长城学院',\n",
       "      '河北地质大学华信学院',\n",
       "      '河北软件职业技术学院',\n",
       "      '保定职业技术学院',\n",
       "      '北京中医药大学东方学院',\n",
       "      '石家庄城市经济职业学院',\n",
       "      '河北交通职业技术学院',\n",
       "      '河北化工医药职业技术学院',\n",
       "      '保定电力职业技术学院',\n",
       "      '石家庄信息工程职业学院',\n",
       "      '河北公安警察职业学院',\n",
       "      '石家庄工商职业学院',\n",
       "      '石家庄理工职业学院',\n",
       "      '石家庄科技信息职业学院',\n",
       "      '石家庄医学高等专科学校',\n",
       "      '冀中职业学院',\n",
       "      '石家庄经济职业学院',\n",
       "      '石家庄科技工程职业学院',\n",
       "      '河北劳动关系职业学院',\n",
       "      '保定幼儿师范高等专科学校',\n",
       "      '石家庄科技职业学院',\n",
       "      '河北工艺美术职业学院',\n",
       "      '曹妃甸职业技术学院']}]},\n",
       "  {'province_name': '山西省',\n",
       "   'cities': [{'city_name': '晋中市',\n",
       "     'universities': ['晋中学院',\n",
       "      '山西农业大学信息学院',\n",
       "      '山西能源学院',\n",
       "      '山西同文职业技术学院',\n",
       "      '晋中师范高等专科学校',\n",
       "      '山西农业大学']},\n",
       "    {'city_name': '长治市',\n",
       "     'universities': ['长治学院', '长治职业技术学院', '山西机电职业技术学院', '潞安职业技术学院', '长治医学院']},\n",
       "    {'city_name': '临汾市',\n",
       "     'universities': ['山西师范大学现代文理学院',\n",
       "      '临汾职业技术学院',\n",
       "      '山西信息职业技术学院',\n",
       "      '山西管理职业学院',\n",
       "      '山西师范大学']},\n",
       "    {'city_name': '大同市', 'universities': ['大同煤炭职业技术学院', '山西大同大学']},\n",
       "    {'city_name': '运城市',\n",
       "     'universities': ['山西水利职业技术学院',\n",
       "      '山西运城农业职业技术学院',\n",
       "      '运城职业技术学院',\n",
       "      '运城护理职业学院',\n",
       "      '运城学院']},\n",
       "    {'city_name': '忻州市', 'universities': ['忻州职业技术学院', '忻州师范学院']},\n",
       "    {'city_name': '吕梁市', 'universities': ['吕梁职业技术学院', '吕梁学院']},\n",
       "    {'city_name': '阳泉市',\n",
       "     'universities': ['阳泉职业技术学院', '阳泉师范高等专科学校', '山西工程技术学院']},\n",
       "    {'city_name': '晋城市', 'universities': ['晋城职业技术学院']},\n",
       "    {'city_name': '朔州市', 'universities': ['朔州师范高等专科学校', '朔州职业技术学院']},\n",
       "    {'city_name': '太原市',\n",
       "     'universities': ['山西大学',\n",
       "      '太原科技大学',\n",
       "      '中北大学',\n",
       "      '山西医科大学',\n",
       "      '太原师范学院',\n",
       "      '山西财经大学',\n",
       "      '太原理工大学',\n",
       "      '太原学院',\n",
       "      '山西中医药大学',\n",
       "      '山西警察学院',\n",
       "      '山西应用科技学院',\n",
       "      '山西大学商务学院',\n",
       "      '中北大学信息商务学院',\n",
       "      '太原理工大学现代科技学院',\n",
       "      '太原科技大学华科学院',\n",
       "      '山西医科大学晋祠学院',\n",
       "      '山西财经大学华商学院',\n",
       "      '山西工商学院',\n",
       "      '太原工业学院',\n",
       "      '山西省财政税务专科学校',\n",
       "      '山西艺术职业学院',\n",
       "      '山西建筑职业技术学院',\n",
       "      '山西传媒学院',\n",
       "      '山西药科职业学院',\n",
       "      '山西工程职业技术学院',\n",
       "      '山西戏剧职业学院',\n",
       "      '山西交通职业技术学院',\n",
       "      '山西财贸职业技术学院',\n",
       "      '山西职业技术学院',\n",
       "      '山西林业职业技术学院',\n",
       "      '山西煤炭职业技术学院',\n",
       "      '山西金融职业学院',\n",
       "      '山西体育职业学院',\n",
       "      '太原城市职业技术学院',\n",
       "      '山西警官职业学院',\n",
       "      '太原旅游职业学院',\n",
       "      '山西国际商务职业学院',\n",
       "      '山西电力职业技术学院',\n",
       "      '山西旅游职业学院',\n",
       "      '晋中职业技术学院',\n",
       "      '山西华澳商贸职业学院',\n",
       "      '山西老区职业技术学院',\n",
       "      '运城幼儿师范高等专科学校',\n",
       "      '山西轻工职业技术学院',\n",
       "      '山西青年职业学院',\n",
       "      '山西经贸职业学院',\n",
       "      '运城师范高等专科学校']}]},\n",
       "  {'province_name': '内蒙古自治区',\n",
       "   'cities': [{'city_name': '包头市',\n",
       "     'universities': ['包头职业技术学院',\n",
       "      '包头轻工职业技术学院',\n",
       "      '包头钢铁职业技术学院',\n",
       "      '包头铁道职业技术学院',\n",
       "      '内蒙古科技大学']},\n",
       "    {'city_name': '通辽市', 'universities': ['通辽职业学院', '内蒙古民族大学']},\n",
       "    {'city_name': '赤峰市',\n",
       "     'universities': ['内蒙古交通职业技术学院', '赤峰职业技术学院', '赤峰工业职业技术学院', '赤峰学院']},\n",
       "    {'city_name': '呼伦贝尔市',\n",
       "     'universities': ['呼伦贝尔职业技术学院', '扎兰屯职业学院', '呼伦贝尔学院']},\n",
       "    {'city_name': '乌兰察布市',\n",
       "     'universities': ['乌兰察布职业学院', '乌兰察布医学高等专科学校', '集宁师范学院']},\n",
       "    {'city_name': '巴彦淖尔市', 'universities': ['内蒙古美术职业学院', '河套学院']},\n",
       "    {'city_name': '鄂尔多斯市',\n",
       "     'universities': ['鄂尔多斯职业学院', '内蒙古民族幼儿师范高等专科学校', '鄂尔多斯应用技术学院']},\n",
       "    {'city_name': '兴安盟', 'universities': ['兴安职业技术学院']},\n",
       "    {'city_name': '锡林郭勒盟', 'universities': ['锡林郭勒职业学院']},\n",
       "    {'city_name': '乌海市', 'universities': ['乌海职业技术学院']},\n",
       "    {'city_name': '阿拉善盟', 'universities': ['阿拉善职业技术学院']},\n",
       "    {'city_name': '呼和浩特市',\n",
       "     'universities': ['内蒙古工业大学',\n",
       "      '内蒙古大学',\n",
       "      '内蒙古农业大学',\n",
       "      '内蒙古医科大学',\n",
       "      '内蒙古财经大学',\n",
       "      '呼和浩特民族学院',\n",
       "      '内蒙古师范大学',\n",
       "      '内蒙古大学创业学院',\n",
       "      '内蒙古师范大学鸿德学院',\n",
       "      '内蒙古建筑职业技术学院',\n",
       "      '内蒙古艺术学院',\n",
       "      '呼和浩特职业学院',\n",
       "      '内蒙古电子信息职业技术学院',\n",
       "      '内蒙古丰州职业学院',\n",
       "      '内蒙古机电职业技术学院',\n",
       "      '内蒙古化工职业学院',\n",
       "      '内蒙古警察职业学院',\n",
       "      '内蒙古商贸职业学院',\n",
       "      '内蒙古体育职业学院',\n",
       "      '内蒙古科技职业学院',\n",
       "      '科尔沁艺术职业学院',\n",
       "      '内蒙古经贸外语职业学院',\n",
       "      '内蒙古工业职业学院',\n",
       "      '内蒙古北方职业技术学院',\n",
       "      '内蒙古能源职业学院',\n",
       "      '满洲里俄语职业学院',\n",
       "      '鄂尔多斯生态环境职业学院']}]},\n",
       "  {'province_name': '辽宁省',\n",
       "   'cities': [{'city_name': '大连市',\n",
       "     'universities': ['大连交通大学',\n",
       "      '大连海洋大学',\n",
       "      '大连医科大学',\n",
       "      '辽宁师范大学',\n",
       "      '大连外国语大学',\n",
       "      '辽宁对外经贸学院',\n",
       "      '大连大学',\n",
       "      '辽宁警察学院',\n",
       "      '大连民族大学',\n",
       "      '大连工业大学艺术与信息工程学院',\n",
       "      '大连医科大学中山学院',\n",
       "      '大连财经学院',\n",
       "      '大连艺术学院',\n",
       "      '大连东软信息学院',\n",
       "      '大连职业技术学院',\n",
       "      '辽宁税务高等专科学校',\n",
       "      '大连商务职业学院',\n",
       "      '大连软件职业学院',\n",
       "      '大连枫叶职业技术学院',\n",
       "      '大连航运职业技术学院',\n",
       "      '辽宁轻工职业学院',\n",
       "      '大连理工大学']},\n",
       "    {'city_name': '鞍山市', 'universities': ['鞍山师范学院', '辽宁科技大学']},\n",
       "    {'city_name': '阜新市', 'universities': ['阜新高等专科学校', '辽宁工程技术大学']},\n",
       "    {'city_name': '抚顺市',\n",
       "     'universities': ['辽宁石油化工大学顺华能源学院', '抚顺师范高等专科学校', '抚顺职业技术学院', '辽宁石油化工大学']},\n",
       "    {'city_name': '锦州市',\n",
       "     'universities': ['锦州医科大学',\n",
       "      '渤海大学',\n",
       "      '锦州医科大学医疗学院',\n",
       "      '辽宁理工学院',\n",
       "      '锦州师范高等专科学校',\n",
       "      '辽宁理工职业学院',\n",
       "      '辽宁石化职业技术学院',\n",
       "      '辽宁铁道职业技术学院',\n",
       "      '辽宁工业大学']},\n",
       "    {'city_name': '本溪市', 'universities': ['辽宁冶金职业技术学院', '辽宁科技学院']},\n",
       "    {'city_name': '丹东市', 'universities': ['辽宁机电职业技术学院', '辽宁地质工程职业学院', '辽东学院']},\n",
       "    {'city_name': '辽阳市',\n",
       "     'universities': ['辽阳职业技术学院', '辽宁建筑职业学院', '沈阳工业大学工程学院']},\n",
       "    {'city_name': '葫芦岛市', 'universities': ['渤海船舶职业学院', '辽宁财贸学院']},\n",
       "    {'city_name': '营口市', 'universities': ['营口职业技术学院', '辽宁农业职业技术学院', '营口理工学院']},\n",
       "    {'city_name': '朝阳市', 'universities': ['朝阳师范高等专科学校']},\n",
       "    {'city_name': '铁岭市',\n",
       "     'universities': ['辽宁职业学院', '辽宁工程职业学院', '铁岭卫生职业学院', '铁岭师范高等专科学校']},\n",
       "    {'city_name': '盘锦市', 'universities': ['辽河石油职业技术学院', '盘锦职业技术学院']},\n",
       "    {'city_name': '沈阳市',\n",
       "     'universities': ['沈阳工业大学',\n",
       "      '辽宁大学',\n",
       "      '沈阳航空航天大学',\n",
       "      '沈阳理工大学',\n",
       "      '沈阳化工大学',\n",
       "      '东北大学',\n",
       "      '大连海事大学',\n",
       "      '沈阳建筑大学',\n",
       "      '沈阳农业大学',\n",
       "      '中国医科大学',\n",
       "      '辽宁中医药大学',\n",
       "      '大连工业大学',\n",
       "      '沈阳药科大学',\n",
       "      '沈阳师范大学',\n",
       "      '沈阳医学院',\n",
       "      '中国刑事警察学院',\n",
       "      '东北财经大学',\n",
       "      '沈阳体育学院',\n",
       "      '沈阳音乐学院',\n",
       "      '沈阳大学',\n",
       "      '沈阳工程学院',\n",
       "      '鲁迅美术学院',\n",
       "      '沈阳航空航天大学北方科技学院',\n",
       "      '大连理工大学城市学院',\n",
       "      '沈阳工学院',\n",
       "      '沈阳城市建设学院',\n",
       "      '大连科技学院',\n",
       "      '辽宁师范大学海华学院',\n",
       "      '沈阳城市学院',\n",
       "      '辽宁中医药大学杏林学院',\n",
       "      '中国医科大学临床医药学院',\n",
       "      '辽宁何氏医学院',\n",
       "      '辽宁传媒学院',\n",
       "      '辽宁省交通高等专科学校',\n",
       "      '沈阳航空职业技术学院',\n",
       "      '沈阳科技学院',\n",
       "      '辽宁林业职业技术学院',\n",
       "      '辽宁体育运动职业技术学院',\n",
       "      '辽宁金融职业学院',\n",
       "      '沈阳职业技术学院',\n",
       "      '辽宁轨道交通职业学院',\n",
       "      '辽宁经济职业技术学院',\n",
       "      '辽宁广告职业学院',\n",
       "      '辽宁商贸职业学院',\n",
       "      '辽宁装备制造职业技术学院',\n",
       "      '大连翻译职业学院',\n",
       "      '大连装备制造职业技术学院',\n",
       "      '辽宁现代服务职业技术学院',\n",
       "      '辽宁城市建设职业技术学院',\n",
       "      '大连汽车职业技术学院',\n",
       "      '沈阳北软信息职业技术学院',\n",
       "      '辽宁医药职业学院',\n",
       "      '辽宁政法职业学院',\n",
       "      '辽宁水利职业学院',\n",
       "      '辽宁民族师范高等专科学校',\n",
       "      '辽宁特殊教育师范高等专科学校']}]},\n",
       "  {'province_name': '吉林省',\n",
       "   'cities': [{'city_name': '延边朝鲜族自治州',\n",
       "     'universities': ['延边职业技术学院', '吉林职业技术学院', '延边大学']},\n",
       "    {'city_name': '吉林市',\n",
       "     'universities': ['吉林化工学院',\n",
       "      '北华大学',\n",
       "      '吉林农业科技学院',\n",
       "      '吉林医药学院',\n",
       "      '吉林电子信息职业技术学院',\n",
       "      '吉林铁道职业技术学院',\n",
       "      '东北电力大学']},\n",
       "    {'city_name': '通化市', 'universities': ['通化师范学院']},\n",
       "    {'city_name': '四平市',\n",
       "     'universities': ['吉林师范大学博达学院', '四平职业大学', '吉林工程职业学院', '吉林师范大学']},\n",
       "    {'city_name': '白城市', 'universities': ['白城医学高等专科学校', '白城职业技术学院', '白城师范学院']},\n",
       "    {'city_name': '辽源市', 'universities': ['辽源职业技术学院']},\n",
       "    {'city_name': '松原市', 'universities': ['松原职业技术学院']},\n",
       "    {'city_name': '白山市', 'universities': ['长白山职业技术学院']},\n",
       "    {'city_name': '长春市',\n",
       "     'universities': ['长春理工大学',\n",
       "      '长春工业大学',\n",
       "      '吉林大学',\n",
       "      '吉林农业大学',\n",
       "      '吉林建筑大学',\n",
       "      '长春中医药大学',\n",
       "      '吉林工程技术师范学院',\n",
       "      '东北师范大学',\n",
       "      '吉林财经大学',\n",
       "      '长春师范大学',\n",
       "      '吉林体育学院',\n",
       "      '吉林艺术学院',\n",
       "      '吉林华桥外国语学院',\n",
       "      '吉林工商学院',\n",
       "      '吉林警察学院',\n",
       "      '长春工程学院',\n",
       "      '长春大学',\n",
       "      '长春光华学院',\n",
       "      '长春工业大学人文信息学院',\n",
       "      '长春理工大学光电信息学院',\n",
       "      '长春财经学院',\n",
       "      '吉林建筑大学城建学院',\n",
       "      '长春建筑学院',\n",
       "      '长春科技学院',\n",
       "      '长春大学旅游学院',\n",
       "      '吉林动画学院',\n",
       "      '长春师范高等专科学校',\n",
       "      '长春汽车工业高等专科学校',\n",
       "      '东北师范大学人文学院',\n",
       "      '长春金融高等专科学校',\n",
       "      '长春医学高等专科学校',\n",
       "      '吉林交通职业技术学院',\n",
       "      '长春东方职业学院',\n",
       "      '吉林司法警官职业学院',\n",
       "      '长春职业技术学院',\n",
       "      '长春信息技术职业学院',\n",
       "      '吉林科技职业技术学院',\n",
       "      '吉林城市职业技术学院',\n",
       "      '吉林水利电力职业学院',\n",
       "      '吉林工业职业技术学院',\n",
       "      '长春健康职业学院']}]},\n",
       "  {'province_name': '黑龙江省',\n",
       "   'cities': [{'city_name': '大庆市',\n",
       "     'universities': ['黑龙江八一农垦大学',\n",
       "      '大庆师范学院',\n",
       "      '大庆职业学院',\n",
       "      '大庆医学高等专科学校',\n",
       "      '东北石油大学']},\n",
       "    {'city_name': '佳木斯市',\n",
       "     'universities': ['黑龙江农业职业技术学院', '黑龙江三江美术职业学院', '佳木斯职业学院', '佳木斯大学']},\n",
       "    {'city_name': '牡丹江市',\n",
       "     'universities': ['牡丹江师范学院',\n",
       "      '牡丹江大学',\n",
       "      '黑龙江林业职业技术学院',\n",
       "      '黑龙江农业经济职业学院',\n",
       "      '黑龙江商业职业学院',\n",
       "      '黑龙江幼儿师范高等专科学校',\n",
       "      '牡丹江医学院']},\n",
       "    {'city_name': '齐齐哈尔市',\n",
       "     'universities': ['齐齐哈尔医学院',\n",
       "      '齐齐哈尔工程学院',\n",
       "      '齐齐哈尔高等师范专科学校',\n",
       "      '黑龙江交通职业技术学院',\n",
       "      '齐齐哈尔理工职业学院',\n",
       "      '齐齐哈尔大学']},\n",
       "    {'city_name': '绥化市', 'universities': ['绥化学院']},\n",
       "    {'city_name': '鸡西市', 'universities': ['黑龙江工业学院']},\n",
       "    {'city_name': '黑河市', 'universities': ['黑河学院']},\n",
       "    {'city_name': '伊春市', 'universities': ['伊春职业学院']},\n",
       "    {'city_name': '鹤岗市', 'universities': ['鹤岗师范高等专科学校']},\n",
       "    {'city_name': '大兴安岭地区', 'universities': ['大兴安岭职业学院']},\n",
       "    {'city_name': '双鸭山市', 'universities': ['黑龙江能源职业学院']},\n",
       "    {'city_name': '七台河市', 'universities': ['七台河职业学院']},\n",
       "    {'city_name': '哈尔滨市',\n",
       "     'universities': ['黑龙江大学',\n",
       "      '哈尔滨工业大学',\n",
       "      '哈尔滨理工大学',\n",
       "      '哈尔滨工程大学',\n",
       "      '东北农业大学',\n",
       "      '黑龙江科技大学',\n",
       "      '东北林业大学',\n",
       "      '哈尔滨医科大学',\n",
       "      '哈尔滨师范大学',\n",
       "      '哈尔滨学院',\n",
       "      '哈尔滨商业大学',\n",
       "      '黑龙江中医药大学',\n",
       "      '哈尔滨体育学院',\n",
       "      '黑龙江东方学院',\n",
       "      '哈尔滨金融学院',\n",
       "      '哈尔滨信息工程学院',\n",
       "      '黑龙江外国语学院',\n",
       "      '黑龙江工程学院',\n",
       "      '黑龙江财经学院',\n",
       "      '哈尔滨石油学院',\n",
       "      '黑龙江工商学院',\n",
       "      '哈尔滨远东理工学院',\n",
       "      '哈尔滨剑桥学院',\n",
       "      '黑龙江工程学院昆仑旅游学院',\n",
       "      '哈尔滨广厦学院',\n",
       "      '哈尔滨音乐学院',\n",
       "      '黑龙江职业学院',\n",
       "      '哈尔滨华德学院',\n",
       "      '黑龙江建筑职业技术学院',\n",
       "      '黑龙江农业工程职业学院',\n",
       "      '黑龙江艺术职业学院',\n",
       "      '黑龙江农垦职业学院',\n",
       "      '哈尔滨电力职业技术学院',\n",
       "      '黑龙江司法警官职业学院',\n",
       "      '哈尔滨职业技术学院',\n",
       "      '哈尔滨铁道职业技术学院',\n",
       "      '哈尔滨传媒职业学院',\n",
       "      '黑龙江公安警官职业学院',\n",
       "      '黑龙江生物科技职业学院',\n",
       "      '黑龙江信息技术职业学院',\n",
       "      '哈尔滨城市职业学院',\n",
       "      '黑龙江农垦科技职业学院',\n",
       "      '黑龙江生态工程职业学院',\n",
       "      '黑龙江民族职业学院',\n",
       "      '哈尔滨应用职业技术学院',\n",
       "      '哈尔滨科学技术职业学院',\n",
       "      '黑龙江旅游职业技术学院',\n",
       "      '黑龙江护理高等专科学校',\n",
       "      '哈尔滨幼儿师范高等专科学校',\n",
       "      '黑龙江粮食职业学院',\n",
       "      '黑龙江冰雪体育职业学院']}]},\n",
       "  {'province_name': '上海市',\n",
       "   'cities': [{'city_name': '上海市',\n",
       "     'universities': ['复旦大学',\n",
       "      '同济大学',\n",
       "      '上海交通大学',\n",
       "      '华东理工大学',\n",
       "      '上海理工大学',\n",
       "      '上海海事大学',\n",
       "      '东华大学',\n",
       "      '上海电力学院',\n",
       "      '上海应用技术大学',\n",
       "      '上海健康医学院',\n",
       "      '上海海洋大学',\n",
       "      '上海中医药大学',\n",
       "      '华东师范大学',\n",
       "      '上海师范大学',\n",
       "      '上海外国语大学',\n",
       "      '上海财经大学',\n",
       "      '上海对外经贸大学',\n",
       "      '上海海关学院',\n",
       "      '华东政法大学',\n",
       "      '上海体育学院',\n",
       "      '上海音乐学院',\n",
       "      '上海戏剧学院',\n",
       "      '上海大学',\n",
       "      '上海公安学院',\n",
       "      '上海工程技术大学',\n",
       "      '上海立信会计金融学院',\n",
       "      '上海电机学院',\n",
       "      '上海杉达学院',\n",
       "      '上海政法学院',\n",
       "      '上海第二工业大学',\n",
       "      '上海商学院',\n",
       "      '上海建桥学院',\n",
       "      '上海兴伟学院',\n",
       "      '上海视觉艺术学院',\n",
       "      '上海外国语大学贤达经济人文学院',\n",
       "      '上海师范大学天华学院',\n",
       "      '上海科技大学',\n",
       "      '上海纽约大学',\n",
       "      '上海旅游高等专科学校',\n",
       "      '上海东海职业技术学院',\n",
       "      '上海工商职业技术学院',\n",
       "      '上海出版印刷高等专科学校',\n",
       "      '上海行健职业学院',\n",
       "      '上海城建职业学院',\n",
       "      '上海交通职业技术学院',\n",
       "      '上海海事职业技术学院',\n",
       "      '上海电子信息职业技术学院',\n",
       "      '上海震旦职业学院',\n",
       "      '上海民远职业技术学院',\n",
       "      '上海欧华职业技术学院',\n",
       "      '上海思博职业技术学院',\n",
       "      '上海立达职业技术学院',\n",
       "      '上海工艺美术职业学院',\n",
       "      '上海济光职业技术学院',\n",
       "      '上海工商外国语职业学院',\n",
       "      '上海科学技术职业学院',\n",
       "      '上海农林职业技术学院',\n",
       "      '上海邦德职业技术学院',\n",
       "      '上海中侨职业技术学院',\n",
       "      '上海电影艺术职业学院',\n",
       "      '上海中华职业技术学院',\n",
       "      '上海工会管理职业学院',\n",
       "      '上海体育职业学院',\n",
       "      '上海民航职业技术学院']}]},\n",
       "  {'province_name': '江苏省',\n",
       "   'cities': [{'city_name': '苏州市',\n",
       "     'universities': ['苏州科技大学',\n",
       "      '苏州大学文正学院',\n",
       "      '西交利物浦大学',\n",
       "      '苏州幼儿师范高等专科学校',\n",
       "      '苏州工艺美术职业技术学院',\n",
       "      '苏州职业大学',\n",
       "      '硅湖职业技术学院',\n",
       "      '苏州经贸职业技术学院',\n",
       "      '苏州农业职业技术学院',\n",
       "      '苏州健雄职业技术学院',\n",
       "      '苏州百年职业学院',\n",
       "      '苏州高博软件技术职业学院',\n",
       "      '苏州信息职业技术学院',\n",
       "      '苏州工业园区服务外包职业学院',\n",
       "      '苏州大学']},\n",
       "    {'city_name': '镇江市',\n",
       "     'universities': ['江苏大学',\n",
       "      '江苏大学京江学院',\n",
       "      '南京财经大学红山学院',\n",
       "      '镇江市高等专科学校',\n",
       "      '江苏农林职业技术学院',\n",
       "      '金山职业技术学院',\n",
       "      '江苏航空职业技术学院',\n",
       "      '江苏科技大学']},\n",
       "    {'city_name': '徐州市',\n",
       "     'universities': ['徐州医科大学',\n",
       "      '江苏师范大学',\n",
       "      '徐州工程学院',\n",
       "      '中国矿业大学徐海学院',\n",
       "      '江苏师范大学科文学院',\n",
       "      '江苏建筑职业技术学院',\n",
       "      '九州职业技术学院',\n",
       "      '徐州工业职业技术学院',\n",
       "      '徐州幼儿师范高等专科学校',\n",
       "      '江苏安全技术职业学院',\n",
       "      '中国矿业大学']},\n",
       "    {'city_name': '常州市',\n",
       "     'universities': ['常州工学院',\n",
       "      '江苏理工学院',\n",
       "      '常州信息职业技术学院',\n",
       "      '常州纺织服装职业技术学院',\n",
       "      '常州轻工职业技术学院',\n",
       "      '建东职业技术学院',\n",
       "      '常州机电职业技术学院',\n",
       "      '江苏城乡建设职业学院',\n",
       "      '常州大学']},\n",
       "    {'city_name': '无锡市',\n",
       "     'universities': ['无锡太湖学院',\n",
       "      '无锡职业技术学院',\n",
       "      '无锡科技职业学院',\n",
       "      '无锡商业职业技术学院',\n",
       "      '太湖创意职业技术学院',\n",
       "      '无锡南洋职业技术学院',\n",
       "      '江苏信息职业技术学院',\n",
       "      '江阴职业技术学院',\n",
       "      '江南大学']},\n",
       "    {'city_name': '南通市',\n",
       "     'universities': ['南通理工学院',\n",
       "      '南通大学杏林学院',\n",
       "      '江苏工程职业技术学院',\n",
       "      '南通职业大学',\n",
       "      '南通科技职业学院',\n",
       "      '南通航运职业技术学院',\n",
       "      '江苏商贸职业学院',\n",
       "      '南通大学']},\n",
       "    {'city_name': '盐城市',\n",
       "     'universities': ['盐城师范学院',\n",
       "      '盐城幼儿师范高等专科学校',\n",
       "      '明达职业技术学院',\n",
       "      '江苏医药职业学院',\n",
       "      '盐城工业职业技术学院',\n",
       "      '盐城工学院']},\n",
       "    {'city_name': '淮安市',\n",
       "     'universities': ['淮阴工学院',\n",
       "      '淮安信息职业技术学院',\n",
       "      '炎黄职业技术学院',\n",
       "      '江苏食品药品职业技术学院',\n",
       "      '江苏财经职业技术学院',\n",
       "      '江苏护理职业学院',\n",
       "      '淮阴师范学院']},\n",
       "    {'city_name': '扬州市',\n",
       "     'universities': ['扬州大学广陵学院',\n",
       "      '南京邮电大学通达学院',\n",
       "      '扬州市职业大学',\n",
       "      '扬州环境资源职业技术学院',\n",
       "      '江海职业技术学院',\n",
       "      '扬州工业职业技术学院',\n",
       "      '扬州中瑞酒店职业学院',\n",
       "      '江苏旅游职业学院',\n",
       "      '扬州大学']},\n",
       "    {'city_name': '连云港市',\n",
       "     'universities': ['南京医科大学康达学院',\n",
       "      '连云港职业技术学院',\n",
       "      '连云港师范高等专科学校',\n",
       "      '江苏财会职业学院',\n",
       "      '淮海工学院']},\n",
       "    {'city_name': '泰州市',\n",
       "     'universities': ['南京理工大学泰州科技学院',\n",
       "      '南京中医药大学翰林学院',\n",
       "      '常州大学怀德学院',\n",
       "      '泰州职业技术学院',\n",
       "      '江苏农牧科技职业学院',\n",
       "      '泰州学院']},\n",
       "    {'city_name': '张家港市', 'universities': ['江苏科技大学苏州理工学院']},\n",
       "    {'city_name': '宿迁市', 'universities': ['宿迁职业技术学院', '宿迁泽达职业技术学院', '宿迁学院']},\n",
       "    {'city_name': '昆山市', 'universities': ['昆山杜克大学']},\n",
       "    {'city_name': '南京市',\n",
       "     'universities': ['东南大学',\n",
       "      '南京大学',\n",
       "      '南京航空航天大学',\n",
       "      '南京工业大学',\n",
       "      '南京邮电大学',\n",
       "      '南京理工大学',\n",
       "      '南京林业大学',\n",
       "      '南京信息工程大学',\n",
       "      '南京农业大学',\n",
       "      '河海大学',\n",
       "      '南京中医药大学',\n",
       "      '南京医科大学',\n",
       "      '中国药科大学',\n",
       "      '南京财经大学',\n",
       "      '南京师范大学',\n",
       "      '江苏警官学院',\n",
       "      '南京体育学院',\n",
       "      '南京艺术学院',\n",
       "      '三江学院',\n",
       "      '常熟理工学院',\n",
       "      '南京工程学院',\n",
       "      '南京审计大学',\n",
       "      '南京特殊教育师范学院',\n",
       "      '南京森林警察学院',\n",
       "      '南京晓庄学院',\n",
       "      '金陵科技学院',\n",
       "      '南京大学金陵学院',\n",
       "      '东南大学成贤学院',\n",
       "      '南京理工大学紫金学院',\n",
       "      '南京航空航天大学金城学院',\n",
       "      '中国传媒大学南广学院',\n",
       "      '南京工业大学浦江学院',\n",
       "      '南京师范大学泰州学院',\n",
       "      '南京信息工程大学滨江学院',\n",
       "      '南京师范大学中北学院',\n",
       "      '苏州大学应用技术学院',\n",
       "      '南京审计大学金审学院',\n",
       "      '江苏第二师范学院',\n",
       "      '南京工业职业技术学院',\n",
       "      '苏州科技大学天平学院',\n",
       "      '江苏经贸职业技术学院',\n",
       "      '江苏联合职业技术学院',\n",
       "      '沙洲职业工学院',\n",
       "      '江苏海事职业技术学院',\n",
       "      '应天职业技术学院',\n",
       "      '苏州工业职业技术学院',\n",
       "      '苏州托普信息职业技术学院',\n",
       "      '南京交通职业技术学院',\n",
       "      '苏州卫生职业技术学院',\n",
       "      '南京科技职业学院',\n",
       "      '苏州工业园区职业技术学院',\n",
       "      '正德职业技术学院',\n",
       "      '钟山职业技术学院',\n",
       "      '金肯职业技术学院',\n",
       "      '江南影视艺术职业学院',\n",
       "      '南京铁道职业技术学院',\n",
       "      '南京信息职业技术学院',\n",
       "      '常州工程职业技术学院',\n",
       "      '无锡城市职业技术学院',\n",
       "      '无锡工艺职业技术学院',\n",
       "      '南京视觉艺术职业学院',\n",
       "      '昆山登云科技职业学院',\n",
       "      '江苏城市职业学院',\n",
       "      '南京城市职业学院',\n",
       "      '南京旅游职业学院',\n",
       "      '南京机电职业技术学院',\n",
       "      '江苏卫生健康职业学院',\n",
       "      '徐州生物工程职业技术学院',\n",
       "      '南通师范高等专科学校']}]},\n",
       "  {'province_name': '浙江省',\n",
       "   'cities': [{'city_name': '舟山市',\n",
       "     'universities': ['浙江海洋大学东海科学技术学院',\n",
       "      '浙江国际海运职业技术学院',\n",
       "      '浙江舟山群岛新区旅游与健康职业学院',\n",
       "      '浙江海洋大学']},\n",
       "    {'city_name': '温州市',\n",
       "     'universities': ['温州大学',\n",
       "      '温州医科大学仁济学院',\n",
       "      '温州大学瓯江学院',\n",
       "      '温州商学院',\n",
       "      '温州肯恩大学',\n",
       "      '温州职业技术学院',\n",
       "      '浙江工贸职业技术学院',\n",
       "      '浙江东方职业技术学院',\n",
       "      '温州科技职业学院',\n",
       "      '浙江安防职业技术学院',\n",
       "      '温州医科大学']},\n",
       "    {'city_name': '金华市',\n",
       "     'universities': ['浙江师范大学行知学院',\n",
       "      '上海财经大学浙江学院',\n",
       "      '金华职业技术学院',\n",
       "      '义乌工商职业技术学院',\n",
       "      '浙江广厦建设职业技术学院',\n",
       "      '浙江横店影视职业学院',\n",
       "      '浙江师范大学']},\n",
       "    {'city_name': '湖州市', 'universities': ['湖州师范学院求真学院', '湖州职业技术学院', '湖州师范学院']},\n",
       "    {'city_name': '绍兴市',\n",
       "     'universities': ['浙江越秀外国语学院',\n",
       "      '浙江农林大学暨阳学院',\n",
       "      '绍兴文理学院元培学院',\n",
       "      '浙江工业职业技术学院',\n",
       "      '绍兴职业技术学院',\n",
       "      '浙江邮电职业技术学院',\n",
       "      '浙江农业商贸职业学院',\n",
       "      '绍兴文理学院']},\n",
       "    {'city_name': '台州市',\n",
       "     'universities': ['台州职业技术学院', '台州科技职业学院', '浙江汽车职业技术学院', '台州学院']},\n",
       "    {'city_name': '丽水市', 'universities': ['丽水职业技术学院', '丽水学院']},\n",
       "    {'city_name': '嘉兴市',\n",
       "     'universities': ['嘉兴学院南湖学院',\n",
       "      '浙江财经大学东方学院',\n",
       "      '同济大学浙江学院',\n",
       "      '嘉兴职业技术学院',\n",
       "      '嘉兴南洋职业技术学院',\n",
       "      '嘉兴学院']},\n",
       "    {'city_name': '宁波市',\n",
       "     'universities': ['宁波工程学院',\n",
       "      '宁波大学',\n",
       "      '宁波大红鹰学院',\n",
       "      '浙江大学宁波理工学院',\n",
       "      '宁波大学科学技术学院',\n",
       "      '宁波诺丁汉大学',\n",
       "      '宁波职业技术学院',\n",
       "      '宁波城市职业技术学院',\n",
       "      '浙江工商职业技术学院',\n",
       "      '浙江医药高等专科学校',\n",
       "      '浙江纺织服装职业技术学院',\n",
       "      '宁波卫生职业技术学院',\n",
       "      '公安海警学院']},\n",
       "    {'city_name': '衢州市', 'universities': ['衢州职业技术学院', '衢州学院']},\n",
       "    {'city_name': '杭州市',\n",
       "     'universities': ['浙江大学',\n",
       "      '杭州电子科技大学',\n",
       "      '浙江工业大学',\n",
       "      '浙江农林大学',\n",
       "      '浙江中医药大学',\n",
       "      '杭州师范大学',\n",
       "      '浙江工商大学',\n",
       "      '中国美术学院',\n",
       "      '浙江理工大学',\n",
       "      '中国计量大学',\n",
       "      '浙江科技学院',\n",
       "      '浙江水利水电学院',\n",
       "      '浙江万里学院',\n",
       "      '浙江财经大学',\n",
       "      '浙江传媒学院',\n",
       "      '浙江警察学院',\n",
       "      '浙江大学城市学院',\n",
       "      '杭州医学院',\n",
       "      '浙江树人学院',\n",
       "      '杭州电子科技大学信息工程学院',\n",
       "      '浙江工业大学之江学院',\n",
       "      '浙江中医药大学滨江学院',\n",
       "      '浙江理工大学科技与艺术学院',\n",
       "      '浙江工商大学杭州商学院',\n",
       "      '中国计量大学现代科技学院',\n",
       "      '浙江外国语学院',\n",
       "      '杭州师范大学钱江学院',\n",
       "      '浙江交通职业技术学院',\n",
       "      '浙江电力职业技术学院',\n",
       "      '浙江音乐学院',\n",
       "      '浙江机电职业技术学院',\n",
       "      '浙江同济科技职业学院',\n",
       "      '浙江建设职业技术学院',\n",
       "      '浙江艺术职业学院',\n",
       "      '浙江经贸职业技术学院',\n",
       "      '浙江商业职业技术学院',\n",
       "      '浙江经济职业技术学院',\n",
       "      '浙江旅游职业学院',\n",
       "      '浙江育英职业技术学院',\n",
       "      '浙江警官职业学院',\n",
       "      '杭州职业技术学院',\n",
       "      '杭州科技职业技术学院',\n",
       "      '浙江金融职业学院',\n",
       "      '杭州万向职业技术学院',\n",
       "      '浙江体育职业技术学院',\n",
       "      '浙江特殊教育职业学院',\n",
       "      '浙江长征职业技术学院']}]},\n",
       "  {'province_name': '安徽省',\n",
       "   'cities': [{'city_name': '马鞍山市',\n",
       "     'universities': ['安徽工业大学工商学院',\n",
       "      '河海大学文天学院',\n",
       "      '安徽冶金科技职业学院',\n",
       "      '马鞍山师范高等专科学校',\n",
       "      '马鞍山职业技术学院',\n",
       "      '安徽工业大学']},\n",
       "    {'city_name': '淮南市',\n",
       "     'universities': ['淮南师范学院', '淮南联合大学', '淮南职业技术学院', '安徽工贸职业技术学院', '安徽理工大学']},\n",
       "    {'city_name': '芜湖市',\n",
       "     'universities': ['皖南医学院',\n",
       "      '安徽师范大学',\n",
       "      '安徽信息工程学院',\n",
       "      '安徽师范大学皖江学院',\n",
       "      '芜湖职业技术学院',\n",
       "      '安徽商贸职业技术学院',\n",
       "      '安徽中医药高等专科学校',\n",
       "      '安徽机电职业技术学院',\n",
       "      '安徽扬子职业技术学院',\n",
       "      '安徽工程大学']},\n",
       "    {'city_name': '蚌埠市',\n",
       "     'universities': ['安徽财经大学',\n",
       "      '蚌埠学院',\n",
       "      '安徽财经大学商学院',\n",
       "      '安徽电子信息职业技术学院',\n",
       "      '蚌埠经济技术职业学院',\n",
       "      '蚌埠医学院']},\n",
       "    {'city_name': '阜阳市',\n",
       "     'universities': ['阜阳师范学院信息工程学院',\n",
       "      '阜阳职业技术学院',\n",
       "      '阜阳科技职业学院',\n",
       "      '民办安徽旅游职业学院',\n",
       "      '阜阳幼儿师范高等专科学校',\n",
       "      '阜阳师范学院']},\n",
       "    {'city_name': '安庆市',\n",
       "     'universities': ['安庆职业技术学院',\n",
       "      '安庆医药高等专科学校',\n",
       "      '桐城师范高等专科学校',\n",
       "      '安徽黄梅戏艺术职业学院',\n",
       "      '安庆师范大学']},\n",
       "    {'city_name': '淮北市',\n",
       "     'universities': ['淮北师范大学信息学院', '淮北职业技术学院', '安徽矿业职业技术学院', '淮北师范大学']},\n",
       "    {'city_name': '黄山市', 'universities': ['黄山职业技术学院', '黄山学院']},\n",
       "    {'city_name': '六安市',\n",
       "     'universities': ['六安职业技术学院',\n",
       "      '安徽国防科技职业学院',\n",
       "      '安徽现代信息工程职业学院',\n",
       "      '皖西卫生职业学院',\n",
       "      '皖西学院']},\n",
       "    {'city_name': '滁州市',\n",
       "     'universities': ['安徽科技学院', '滁州职业技术学院', '滁州城市职业学院', '滁州学院']},\n",
       "    {'city_name': '宿州市', 'universities': ['宿州职业技术学院', '皖北卫生职业学院', '宿州学院']},\n",
       "    {'city_name': '铜陵市', 'universities': ['铜陵职业技术学院', '安徽工业职业技术学院', '铜陵学院']},\n",
       "    {'city_name': '池州市', 'universities': ['池州职业技术学院', '安徽卫生健康职业学院', '池州学院']},\n",
       "    {'city_name': '亳州市', 'universities': ['亳州职业技术学院', '亳州学院']},\n",
       "    {'city_name': '宣城市', 'universities': ['宣城职业技术学院']},\n",
       "    {'city_name': '合肥市',\n",
       "     'universities': ['安徽大学',\n",
       "      '中国科学技术大学',\n",
       "      '安徽农业大学',\n",
       "      '合肥工业大学',\n",
       "      '安徽中医药大学',\n",
       "      '巢湖学院',\n",
       "      '安徽建筑大学',\n",
       "      '安徽三联学院',\n",
       "      '安徽医科大学',\n",
       "      '安徽新华学院',\n",
       "      '合肥学院',\n",
       "      '安徽外国语学院',\n",
       "      '安徽大学江淮学院',\n",
       "      '安徽建筑大学城市建设学院',\n",
       "      '安徽文达信息工程学院',\n",
       "      '安徽医科大学临床医学院',\n",
       "      '合肥师范学院',\n",
       "      '安徽职业技术学院',\n",
       "      '安徽水利水电职业技术学院',\n",
       "      '民办万博科技职业学院',\n",
       "      '安徽农业大学经济技术学院',\n",
       "      '安徽工业经济职业技术学院',\n",
       "      '安徽警官职业学院',\n",
       "      '民办合肥经济技术职业学院',\n",
       "      '合肥通用职业技术学院',\n",
       "      '安徽交通职业技术学院',\n",
       "      '安徽医学高等专科学校',\n",
       "      '安徽体育运动职业技术学院',\n",
       "      '安徽广播影视职业技术学院',\n",
       "      '合肥职业技术学院',\n",
       "      '民办合肥滨湖职业技术学院',\n",
       "      '安徽城市管理职业学院',\n",
       "      '安徽工商职业学院',\n",
       "      '安徽电气工程职业技术学院',\n",
       "      '安徽艺术职业学院',\n",
       "      '安徽财贸职业学院',\n",
       "      '安徽中澳科技职业学院',\n",
       "      '安徽国际商务职业学院',\n",
       "      '安徽公安职业学院',\n",
       "      '安徽林业职业技术学院',\n",
       "      '安徽审计职业学院',\n",
       "      '安徽新闻出版职业技术学院',\n",
       "      '民办合肥财经职业学院',\n",
       "      '安徽涉外经济职业学院',\n",
       "      '安徽邮电职业技术学院',\n",
       "      '安徽绿海商务职业学院',\n",
       "      '徽商职业学院',\n",
       "      '合肥信息技术职业学院',\n",
       "      '安徽汽车职业技术学院',\n",
       "      '合肥幼儿师范高等专科学校',\n",
       "      '合肥共达职业技术学院',\n",
       "      '安徽粮食工程职业学院',\n",
       "      '合肥科技职业学院',\n",
       "      '安徽长江职业学院']}]},\n",
       "  {'province_name': '福建省',\n",
       "   'cities': [{'city_name': '泉州市',\n",
       "     'universities': ['泉州师范学院',\n",
       "      '仰恩大学',\n",
       "      '闽南理工学院',\n",
       "      '泉州信息工程学院',\n",
       "      '黎明职业大学',\n",
       "      '福建电力职业技术学院',\n",
       "      '泉州医学高等专科学校',\n",
       "      '泉州纺织服装职业学院',\n",
       "      '泉州经贸职业技术学院',\n",
       "      '泉州工艺美术职业学院',\n",
       "      '泉州海洋职业学院',\n",
       "      '泉州幼儿师范高等专科学校',\n",
       "      '泉州工程职业技术学院',\n",
       "      '华侨大学']},\n",
       "    {'city_name': '福州市',\n",
       "     'universities': ['福建医科大学',\n",
       "      '福建商学院',\n",
       "      '福建农林大学东方学院',\n",
       "      '阳光学院',\n",
       "      '福州大学至诚学院',\n",
       "      '福建师范大学协和学院',\n",
       "      '福州理工学院',\n",
       "      '福建华南女子职业学院',\n",
       "      '福建信息职业技术学院',\n",
       "      '福建农业职业技术学院',\n",
       "      '福州英华职业学院',\n",
       "      '福建警官职业学院',\n",
       "      '福州黎明职业技术学院',\n",
       "      '福州科技职业技术学院',\n",
       "      '福建对外经济贸易职业技术学院',\n",
       "      '福建生物工程职业技术学院',\n",
       "      '福州软件职业技术学院',\n",
       "      '福建体育职业技术学院',\n",
       "      '闽江师范高等专科学校',\n",
       "      '福州墨尔本理工职业学院',\n",
       "      '福州大学']},\n",
       "    {'city_name': '南平市',\n",
       "     'universities': ['福建林业职业技术学院', '闽北职业技术学院', '武夷山职业学院', '武夷学院']},\n",
       "    {'city_name': '宁德市', 'universities': ['宁德职业技术学院', '宁德师范学院']},\n",
       "    {'city_name': '漳州市',\n",
       "     'universities': ['厦门大学嘉庚学院',\n",
       "      '漳州职业技术学院',\n",
       "      '漳州城市职业学院',\n",
       "      '漳州科技职业学院',\n",
       "      '漳州卫生职业学院',\n",
       "      '闽南师范大学']},\n",
       "    {'city_name': '三明市',\n",
       "     'universities': ['福建水利电力职业技术学院', '三明医学科技职业学院', '三明学院']},\n",
       "    {'city_name': '龙岩市', 'universities': ['闽西职业技术学院', '龙岩学院']},\n",
       "    {'city_name': '莆田市', 'universities': ['湄洲湾职业技术学院', '莆田学院']},\n",
       "    {'city_name': '厦门市',\n",
       "     'universities': ['厦门大学',\n",
       "      '福建工程学院',\n",
       "      '集美大学',\n",
       "      '福建农林大学',\n",
       "      '福建中医药大学',\n",
       "      '福建师范大学',\n",
       "      '厦门理工学院',\n",
       "      '闽江学院',\n",
       "      '厦门医学院',\n",
       "      '福建警察学院',\n",
       "      '厦门华厦学院',\n",
       "      '厦门工学院',\n",
       "      '集美大学诚毅学院',\n",
       "      '福建师范大学闽南科技学院',\n",
       "      '福州外语外贸学院',\n",
       "      '福建江夏学院',\n",
       "      '福建农林大学金山学院',\n",
       "      '福建船政交通职业学院',\n",
       "      '厦门海洋职业技术学院',\n",
       "      '福州职业技术学院',\n",
       "      '福建卫生职业技术学院',\n",
       "      '泉州华光职业学院',\n",
       "      '厦门演艺职业学院',\n",
       "      '泉州理工职业学院',\n",
       "      '厦门华天涉外职业技术学院',\n",
       "      '福建艺术职业学院',\n",
       "      '厦门城市职业学院',\n",
       "      '厦门兴才职业技术学院',\n",
       "      '福建幼儿师范高等专科学校',\n",
       "      '厦门南洋职业学院',\n",
       "      '厦门软件职业技术学院',\n",
       "      '厦门东海职业技术学院',\n",
       "      '漳州理工职业学院',\n",
       "      '厦门安防科技职业学院',\n",
       "      '泉州轻工职业学院']}]},\n",
       "  {'province_name': '江西省',\n",
       "   'cities': [{'city_name': '抚州市',\n",
       "     'universities': ['东华理工大学长江学院', '抚州幼儿师范高等专科学校', '抚州职业技术学院', '东华理工大学']},\n",
       "    {'city_name': '赣州市',\n",
       "     'universities': ['赣南医学院',\n",
       "      '赣南师范大学',\n",
       "      '江西理工大学应用科学学院',\n",
       "      '赣南师范大学科技学院',\n",
       "      '江西环境工程职业学院',\n",
       "      '江西应用技术职业学院',\n",
       "      '赣州师范高等专科学校',\n",
       "      '赣南卫生健康职业学院',\n",
       "      '江西理工大学']},\n",
       "    {'city_name': '景德镇市',\n",
       "     'universities': ['景德镇学院',\n",
       "      '景德镇陶瓷大学科技艺术学院',\n",
       "      '江西陶瓷工艺美术职业技术学院',\n",
       "      '景德镇陶瓷职业技术学院',\n",
       "      '景德镇陶瓷大学']},\n",
       "    {'city_name': '上饶市',\n",
       "     'universities': ['上饶幼儿师范高等专科学校', '江西医学高等专科学校', '上饶职业技术学院', '上饶师范学院']},\n",
       "    {'city_name': '宜春市',\n",
       "     'universities': ['宜春职业技术学院',\n",
       "      '江西农业工程职业学院',\n",
       "      '宜春幼儿师范高等专科学校',\n",
       "      '江西洪州职业学院',\n",
       "      '宜春学院']},\n",
       "    {'city_name': '吉安市', 'universities': ['吉安职业技术学院', '井冈山大学']},\n",
       "    {'city_name': '萍乡市',\n",
       "     'universities': ['江西工业工程职业技术学院', '江西应用工程职业学院', '萍乡学院']},\n",
       "    {'city_name': '新余市',\n",
       "     'universities': ['江西工程学院',\n",
       "      '赣西科技职业学院',\n",
       "      '江西新能源科技职业学院',\n",
       "      '江西冶金职业技术学院',\n",
       "      '新余学院']},\n",
       "    {'city_name': '九江市',\n",
       "     'universities': ['南昌大学共青学院',\n",
       "      '九江职业大学',\n",
       "      '江西财经职业学院',\n",
       "      '江西枫林涉外经贸职业学院',\n",
       "      '共青科技职业学院',\n",
       "      '九江学院']},\n",
       "    {'city_name': '鹰潭市', 'universities': ['江西师范高等专科学校', '鹰潭职业技术学院']},\n",
       "    {'city_name': '南昌市',\n",
       "     'universities': ['南昌大学',\n",
       "      '南昌航空大学',\n",
       "      '江西农业大学',\n",
       "      '华东交通大学',\n",
       "      '江西师范大学',\n",
       "      '江西财经大学',\n",
       "      '江西中医药大学',\n",
       "      '江西科技师范大学',\n",
       "      '江西科技学院',\n",
       "      '南昌工程学院',\n",
       "      '南昌理工学院',\n",
       "      '江西警察学院',\n",
       "      '江西应用科技学院',\n",
       "      '江西服装学院',\n",
       "      '南昌工学院',\n",
       "      '华东交通大学理工学院',\n",
       "      '南昌航空大学科技学院',\n",
       "      '江西农业大学南昌商学院',\n",
       "      '南昌大学科学技术学院',\n",
       "      '江西中医药大学科技学院',\n",
       "      '江西科技师范大学理工学院',\n",
       "      '江西师范大学科学技术学院',\n",
       "      '江西财经大学现代经济管理学院',\n",
       "      '豫章师范学院',\n",
       "      '江西工业职业技术学院',\n",
       "      '南昌师范学院',\n",
       "      '江西司法警官职业学院',\n",
       "      '江西旅游商贸职业学院',\n",
       "      '九江职业技术学院',\n",
       "      '江西艺术职业学院',\n",
       "      '江西信息应用职业技术学院',\n",
       "      '江西电力职业技术学院',\n",
       "      '江西现代职业技术学院',\n",
       "      '江西机电职业技术学院',\n",
       "      '江西交通职业技术学院',\n",
       "      '江西科技职业学院',\n",
       "      '南昌职业学院',\n",
       "      '江西外语外贸职业学院',\n",
       "      '江西生物科技职业学院',\n",
       "      '江西工业贸易职业技术学院',\n",
       "      '江西建设职业技术学院',\n",
       "      '江西先锋软件职业技术学院',\n",
       "      '江西中医药高等专科学校',\n",
       "      '江西经济管理职业学院',\n",
       "      '江西制造职业技术学院',\n",
       "      '江西工程职业学院',\n",
       "      '江西航空职业技术学院',\n",
       "      '江西卫生职业学院',\n",
       "      '江西泰豪动漫职业学院',\n",
       "      '江西管理职业学院',\n",
       "      '江西青年职业学院',\n",
       "      '江西传媒职业学院',\n",
       "      '江西水利职业学院',\n",
       "      '南昌影视传播职业学院',\n",
       "      '江西工商职业技术学院']}]},\n",
       "  {'province_name': '山东省',\n",
       "   'cities': [{'city_name': '青岛市',\n",
       "     'universities': ['青岛理工大学',\n",
       "      '青岛农业大学',\n",
       "      '青岛滨海学院',\n",
       "      '青岛大学',\n",
       "      '青岛恒星科技学院',\n",
       "      '青岛理工大学琴岛学院',\n",
       "      '青岛工学院',\n",
       "      '北京电影学院现代创意媒体学院',\n",
       "      '青岛职业技术学院',\n",
       "      '青岛飞洋职业技术学院',\n",
       "      '山东外贸职业学院',\n",
       "      '青岛港湾职业技术学院',\n",
       "      '青岛求实职业技术学院',\n",
       "      '青岛远洋船员职业学院',\n",
       "      '中国海洋大学']},\n",
       "    {'city_name': '淄博市',\n",
       "     'universities': ['齐鲁医药学院',\n",
       "      '淄博职业学院',\n",
       "      '山东工业职业学院',\n",
       "      '淄博师范高等专科学校',\n",
       "      '山东铝业职业学院',\n",
       "      '山东轻工职业学院',\n",
       "      '山东理工大学']},\n",
       "    {'city_name': '泰安市',\n",
       "     'universities': ['泰山医学院',\n",
       "      '泰山学院',\n",
       "      '山东科技大学泰山科技学院',\n",
       "      '山东财经大学东方学院',\n",
       "      '山东服装职业学院',\n",
       "      '山东力明科技职业学院',\n",
       "      '泰山职业技术学院',\n",
       "      '泰山护理职业学院',\n",
       "      '山东农业大学']},\n",
       "    {'city_name': '潍坊市',\n",
       "     'universities': ['潍坊学院',\n",
       "      '潍坊科技学院',\n",
       "      '潍坊职业学院',\n",
       "      '山东科技职业学院',\n",
       "      '山东畜牧兽医职业学院',\n",
       "      '山东交通职业学院',\n",
       "      '山东信息职业技术学院',\n",
       "      '山东经贸职业学院',\n",
       "      '潍坊工商职业学院',\n",
       "      '山东海事职业学院',\n",
       "      '潍坊医学院']},\n",
       "    {'city_name': '滨州市', 'universities': ['滨州学院', '滨州职业学院', '滨州医学院']},\n",
       "    {'city_name': '济宁市',\n",
       "     'universities': ['曲阜师范大学',\n",
       "      '济宁学院',\n",
       "      '曲阜远东职业技术学院',\n",
       "      '济宁职业技术学院',\n",
       "      '山东理工职业学院',\n",
       "      '济宁医学院']},\n",
       "    {'city_name': '聊城市', 'universities': ['聊城大学东昌学院', '聊城职业技术学院', '聊城大学']},\n",
       "    {'city_name': '德州市',\n",
       "     'universities': ['山东华宇工学院', '德州科技职业学院', '德州职业技术学院', '德州学院']},\n",
       "    {'city_name': '烟台市',\n",
       "     'universities': ['烟台大学',\n",
       "      '山东工商学院',\n",
       "      '烟台南山学院',\n",
       "      '烟台大学文经学院',\n",
       "      '青岛农业大学海都学院',\n",
       "      '烟台职业学院',\n",
       "      '烟台工程职业技术学院',\n",
       "      '山东中医药高等专科学校',\n",
       "      '山东商务职业学院',\n",
       "      '烟台汽车工程职业学院',\n",
       "      '山东文化产业职业学院',\n",
       "      '烟台黄金职业学院',\n",
       "      '鲁东大学']},\n",
       "    {'city_name': '临沂市', 'universities': ['山东医学高等专科学校', '临沂职业学院', '临沂大学']},\n",
       "    {'city_name': '菏泽市',\n",
       "     'universities': ['菏泽医学专科学校', '菏泽家政职业学院', '菏泽职业学院', '菏泽学院']},\n",
       "    {'city_name': '枣庄市', 'universities': ['枣庄科技职业学院', '枣庄职业学院', '枣庄学院']},\n",
       "    {'city_name': '东营市',\n",
       "     'universities': ['东营职业学院', '东营科技职业学院', '山东胜利职业学院', '中国石油大学胜利学院']},\n",
       "    {'city_name': '日照市',\n",
       "     'universities': ['山东水利职业学院', '山东外国语职业学院', '日照航海工程职业学院', '日照职业技术学院']},\n",
       "    {'city_name': '威海市', 'universities': ['山东外事翻译职业学院', '威海海洋职业学院', '威海职业学院']},\n",
       "    {'city_name': '莱芜市', 'universities': ['莱芜职业技术学院']},\n",
       "    {'city_name': '济南市',\n",
       "     'universities': ['山东大学',\n",
       "      '山东科技大学',\n",
       "      '中国石油大学（华东）',\n",
       "      '济南大学',\n",
       "      '山东建筑大学',\n",
       "      '青岛科技大学',\n",
       "      '山东中医药大学',\n",
       "      '山东师范大学',\n",
       "      '山东财经大学',\n",
       "      '齐鲁工业大学',\n",
       "      '山东体育学院',\n",
       "      '山东工艺美术学院',\n",
       "      '山东警察学院',\n",
       "      '山东艺术学院',\n",
       "      '山东女子学院',\n",
       "      '山东英才学院',\n",
       "      '山东交通学院',\n",
       "      '山东现代学院',\n",
       "      '青岛黄海学院',\n",
       "      '山东师范大学历山学院',\n",
       "      '山东协和学院',\n",
       "      '齐鲁理工学院',\n",
       "      '济南大学泉城学院',\n",
       "      '山东财经大学燕山学院',\n",
       "      '山东政法学院',\n",
       "      '齐鲁师范学院',\n",
       "      '山东管理学院',\n",
       "      '山东青年政治学院',\n",
       "      '山东商业职业技术学院',\n",
       "      '山东农业工程学院',\n",
       "      '山东职业学院',\n",
       "      '山东电力高等专科学校',\n",
       "      '山东圣翰财贸职业学院',\n",
       "      '山东劳动职业技术学院',\n",
       "      '青岛酒店管理职业技术学院',\n",
       "      '济南职业学院',\n",
       "      '山东凯文科技职业学院',\n",
       "      '济南工程职业技术学院',\n",
       "      '山东化工职业学院',\n",
       "      '山东电子职业技术学院',\n",
       "      '山东杏林科技职业学院',\n",
       "      '山东旅游职业学院',\n",
       "      '山东城市建设职业学院',\n",
       "      '山东司法警官职业学院',\n",
       "      '山东传媒职业学院',\n",
       "      '济南幼儿师范高等专科学校',\n",
       "      '山东药品食品职业学院',\n",
       "      '济南护理职业学院',\n",
       "      '潍坊护理职业学院',\n",
       "      '山东艺术设计职业学院',\n",
       "      '山东特殊教育职业学院',\n",
       "      '潍坊工程职业学院']}]},\n",
       "  {'province_name': '河南省',\n",
       "   'cities': [{'city_name': '焦作市',\n",
       "     'universities': ['黄河交通学院',\n",
       "      '焦作大学',\n",
       "      '河南工业和信息化职业学院',\n",
       "      '焦作师范高等专科学校',\n",
       "      '焦作工贸职业学院',\n",
       "      '河南理工大学']},\n",
       "    {'city_name': '洛阳市',\n",
       "     'universities': ['洛阳师范学院',\n",
       "      '洛阳理工学院',\n",
       "      '河南林业职业学院',\n",
       "      '河南推拿职业学院',\n",
       "      '洛阳科技职业学院',\n",
       "      '河南科技大学']},\n",
       "    {'city_name': '新乡市',\n",
       "     'universities': ['新乡医学院',\n",
       "      '河南师范大学',\n",
       "      '新乡学院',\n",
       "      '河南工学院',\n",
       "      '新乡医学院三全学院',\n",
       "      '新乡职业技术学院',\n",
       "      '长垣烹饪职业技术学院',\n",
       "      '河南科技学院']},\n",
       "    {'city_name': '开封市',\n",
       "     'universities': ['河南大学民生学院', '开封大学', '黄河水利职业技术学院', '开封文化艺术职业学院', '河南大学']},\n",
       "    {'city_name': '信阳市',\n",
       "     'universities': ['信阳农林学院', '信阳学院', '信阳职业技术学院', '信阳涉外职业技术学院', '信阳师范学院']},\n",
       "    {'city_name': '周口市', 'universities': ['周口职业技术学院', '周口科技职业学院', '周口师范学院']},\n",
       "    {'city_name': '安阳市',\n",
       "     'universities': ['安阳工学院',\n",
       "      '安阳学院',\n",
       "      '安阳职业技术学院',\n",
       "      '河南护理职业学院',\n",
       "      '安阳幼儿师范高等专科学校',\n",
       "      '安阳师范学院']},\n",
       "    {'city_name': '许昌市',\n",
       "     'universities': ['许昌职业技术学院', '许昌陶瓷职业学院', '许昌电气职业学院', '许昌学院']},\n",
       "    {'city_name': '南阳市',\n",
       "     'universities': ['南阳理工学院',\n",
       "      '河南工业职业技术学院',\n",
       "      '南阳医学高等专科学校',\n",
       "      '南阳职业学院',\n",
       "      '南阳农业职业学院',\n",
       "      '南阳师范学院']},\n",
       "    {'city_name': '商丘市',\n",
       "     'universities': ['商丘工学院',\n",
       "      '商丘学院',\n",
       "      '商丘职业技术学院',\n",
       "      '商丘医学高等专科学校',\n",
       "      '永城职业学院',\n",
       "      '商丘师范学院']},\n",
       "    {'city_name': '驻马店市',\n",
       "     'universities': ['驻马店职业技术学院', '驻马店幼儿师范高等专科学校', '黄淮学院']},\n",
       "    {'city_name': '平顶山市',\n",
       "     'universities': ['河南城建学院',\n",
       "      '平顶山工业职业技术学院',\n",
       "      '河南质量工程职业学院',\n",
       "      '平顶山文化艺术职业学院',\n",
       "      '平顶山学院']},\n",
       "    {'city_name': '漯河市',\n",
       "     'universities': ['漯河医学高等专科学校', '漯河食品职业学院', '漯河职业技术学院']},\n",
       "    {'city_name': '三门峡市', 'universities': ['三门峡社会管理职业学院', '三门峡职业技术学院']},\n",
       "    {'city_name': '濮阳市', 'universities': ['濮阳医学高等专科学校', '濮阳职业技术学院']},\n",
       "    {'city_name': '济源市', 'universities': ['济源职业技术学院']},\n",
       "    {'city_name': '鹤壁市',\n",
       "     'universities': ['鹤壁汽车工程职业学院', '鹤壁能源化工职业学院', '鹤壁职业技术学院']},\n",
       "    {'city_name': '郑州市',\n",
       "     'universities': ['华北水利水电大学',\n",
       "      '郑州轻工业学院',\n",
       "      '郑州大学',\n",
       "      '中原工学院',\n",
       "      '河南工业大学',\n",
       "      '河南牧业经济学院',\n",
       "      '河南农业大学',\n",
       "      '河南财经政法大学',\n",
       "      '河南中医药大学',\n",
       "      '郑州工程技术学院',\n",
       "      '河南工程学院',\n",
       "      '郑州航空工业管理学院',\n",
       "      '河南警察学院',\n",
       "      '河南财政金融学院',\n",
       "      '黄河科技学院',\n",
       "      '铁道警察学院',\n",
       "      '郑州科技学院',\n",
       "      '郑州工业应用技术学院',\n",
       "      '郑州师范学院',\n",
       "      '河南师范大学新联学院',\n",
       "      '郑州财经学院',\n",
       "      '郑州工商学院',\n",
       "      '河南科技学院新科学院',\n",
       "      '郑州成功财经学院',\n",
       "      '中原工学院信息商务学院',\n",
       "      '郑州升达经贸管理学院',\n",
       "      '郑州铁路职业技术学院',\n",
       "      '郑州电力高等专科学校',\n",
       "      '河南水利与环境职业学院',\n",
       "      '河南司法警官职业学院',\n",
       "      '郑州澍青医学高等专科学校',\n",
       "      '河南检察职业学院',\n",
       "      '郑州信息科技职业学院',\n",
       "      '郑州电子信息职业技术学院',\n",
       "      '嵩山少林武术职业学院',\n",
       "      '河南职业技术学院',\n",
       "      '河南经贸职业学院',\n",
       "      '郑州工业安全职业学院',\n",
       "      '河南交通职业技术学院',\n",
       "      '河南农业职业学院',\n",
       "      '郑州旅游职业学院',\n",
       "      '郑州职业技术学院',\n",
       "      '河南工业贸易职业学院',\n",
       "      '河南信息统计职业学院',\n",
       "      '河南建筑职业技术学院',\n",
       "      '郑州城市职业学院',\n",
       "      '郑州理工职业学院',\n",
       "      '郑州电力职业技术学院',\n",
       "      '河南应用技术职业学院',\n",
       "      '郑州信息工程职业学院',\n",
       "      '河南艺术职业学院',\n",
       "      '郑州商贸旅游职业学院',\n",
       "      '河南机电职业学院',\n",
       "      '郑州幼儿师范高等专科学校',\n",
       "      '郑州黄河护理职业学院',\n",
       "      '洛阳职业技术学院',\n",
       "      '河南医学高等专科学校',\n",
       "      '河南轻工职业学院',\n",
       "      '郑州财税金融职业学院',\n",
       "      '河南测绘职业学院']}]},\n",
       "  {'province_name': '湖北省',\n",
       "   'cities': [{'city_name': '荆州市',\n",
       "     'universities': ['长江大学工程技术学院',\n",
       "      '荆州理工职业学院',\n",
       "      '荆州职业技术学院',\n",
       "      '湖北中医药高等专科学校',\n",
       "      '长江艺术工程职业学院',\n",
       "      '长江大学']},\n",
       "    {'city_name': '黄石市',\n",
       "     'universities': ['湖北理工学院', '湖北师范大学文理学院', '湖北工程职业学院', '湖北师范大学']},\n",
       "    {'city_name': '黄冈市',\n",
       "     'universities': ['黄冈职业技术学院', '鄂东职业技术学院', '黄冈科技职业学院', '黄冈师范学院']},\n",
       "    {'city_name': '恩施土家族苗族自治州',\n",
       "     'universities': ['湖北民族学院科技学院', '恩施职业技术学院', '湖北民族学院']},\n",
       "    {'city_name': '十堰市',\n",
       "     'universities': ['湖北汽车工业学院',\n",
       "      '湖北医药学院',\n",
       "      '湖北汽车工业学院科技学院',\n",
       "      '湖北工业职业技术学院',\n",
       "      '汉江师范学院']},\n",
       "    {'city_name': '襄阳市',\n",
       "     'universities': ['湖北文理学院理工学院', '襄阳职业技术学院', '襄阳汽车职业技术学院', '湖北文理学院']},\n",
       "    {'city_name': '孝感市',\n",
       "     'universities': ['湖北工程学院新技术学院', '湖北职业技术学院', '湖北工程学院']},\n",
       "    {'city_name': '咸宁市', 'universities': ['咸宁职业技术学院', '湖北科技学院']},\n",
       "    {'city_name': '宜昌市',\n",
       "     'universities': ['三峡大学科技学院',\n",
       "      '湖北三峡职业技术学院',\n",
       "      '三峡电力职业学院',\n",
       "      '三峡旅游职业技术学院',\n",
       "      '三峡大学']},\n",
       "    {'city_name': '荆门市', 'universities': ['荆门职业学院', '荆楚理工学院']},\n",
       "    {'city_name': '鄂州市', 'universities': ['鄂州职业大学']},\n",
       "    {'city_name': '仙桃市', 'universities': ['仙桃职业学院']},\n",
       "    {'city_name': '随州市', 'universities': ['随州职业技术学院']},\n",
       "    {'city_name': '潜江市', 'universities': ['江汉艺术职业学院']},\n",
       "    {'city_name': '天门市', 'universities': ['天门职业学院']},\n",
       "    {'city_name': '武汉市',\n",
       "     'universities': ['武汉大学',\n",
       "      '华中科技大学',\n",
       "      '武汉工程大学',\n",
       "      '武汉科技大学',\n",
       "      '中国地质大学（武汉）',\n",
       "      '武汉纺织大学',\n",
       "      '武汉轻工大学',\n",
       "      '武汉理工大学',\n",
       "      '湖北工业大学',\n",
       "      '华中农业大学',\n",
       "      '湖北中医药大学',\n",
       "      '华中师范大学',\n",
       "      '中南财经政法大学',\n",
       "      '湖北大学',\n",
       "      '武汉体育学院',\n",
       "      '湖北美术学院',\n",
       "      '江汉大学',\n",
       "      '湖北警官学院',\n",
       "      '武汉音乐学院',\n",
       "      '中南民族大学',\n",
       "      '湖北经济学院',\n",
       "      '武汉商学院',\n",
       "      '武汉东湖学院',\n",
       "      '汉口学院',\n",
       "      '武昌首义学院',\n",
       "      '武昌理工学院',\n",
       "      '武汉生物工程学院',\n",
       "      '武汉晴川学院',\n",
       "      '湖北大学知行学院',\n",
       "      '江汉大学文理学院',\n",
       "      '武汉科技大学城市学院',\n",
       "      '湖北工业大学工程技术学院',\n",
       "      '武汉工程大学邮电与信息工程学院',\n",
       "      '武汉纺织大学外经贸学院',\n",
       "      '武昌工学院',\n",
       "      '武汉工商学院',\n",
       "      '湖北商贸学院',\n",
       "      '长江大学文理学院',\n",
       "      '湖北经济学院法商学院',\n",
       "      '湖北医药学院药护学院',\n",
       "      '文华学院',\n",
       "      '武汉体育学院体育科技学院',\n",
       "      '武汉学院',\n",
       "      '武汉工程科技学院',\n",
       "      '武汉华夏理工学院',\n",
       "      '武汉传媒学院',\n",
       "      '武汉设计工程学院',\n",
       "      '湖北第二师范学院',\n",
       "      '长江职业学院',\n",
       "      '武汉城市职业学院',\n",
       "      '武汉船舶职业技术学院',\n",
       "      '武汉工贸职业学院',\n",
       "      '武汉工程职业技术学院',\n",
       "      '湖北轻工职业技术学院',\n",
       "      '武汉职业技术学院',\n",
       "      '武汉航海职业技术学院',\n",
       "      '湖北交通职业技术学院',\n",
       "      '武汉铁路职业技术学院',\n",
       "      '武汉电力职业技术学院',\n",
       "      '武汉软件工程职业学院',\n",
       "      '湖北水利水电职业技术学院',\n",
       "      '湖北城市建设职业技术学院',\n",
       "      '武汉警官职业学院',\n",
       "      '湖北生物科技职业学院',\n",
       "      '湖北开放职业学院',\n",
       "      '武汉科技职业学院',\n",
       "      '武汉外语外事职业学院',\n",
       "      '武汉信息传播职业技术学院',\n",
       "      '武昌职业学院',\n",
       "      '武汉商贸职业学院',\n",
       "      '湖北艺术职业学院',\n",
       "      '长江工程职业技术学院',\n",
       "      '武汉工业职业技术学院',\n",
       "      '武汉交通职业学院',\n",
       "      '湖北财税职业学院',\n",
       "      '湖北国土资源职业学院',\n",
       "      '武汉民政职业学院',\n",
       "      '湖北科技职业学院',\n",
       "      '湖北生态工程职业技术学院',\n",
       "      '湖北体育职业学院',\n",
       "      '湖北幼儿师范高等专科学校',\n",
       "      '湖北青年职业学院',\n",
       "      '湖北铁道运输职业学院',\n",
       "      '武汉铁路桥梁职业学院',\n",
       "      '武汉海事职业学院',\n",
       "      '武汉光谷职业学院']}]},\n",
       "  {'province_name': '湖南省',\n",
       "   'cities': [{'city_name': '湘西土家族苗族自治州',\n",
       "     'universities': ['湘西民族职业技术学院', '吉首大学']},\n",
       "    {'city_name': '长沙市',\n",
       "     'universities': ['长沙理工大学',\n",
       "      '湖南商学院',\n",
       "      '长沙医学院',\n",
       "      '湖南财政经济学院',\n",
       "      '湖南女子学院',\n",
       "      '湖南涉外经济学院',\n",
       "      '湖南商学院北津学院',\n",
       "      '湖南中医药大学湘杏学院',\n",
       "      '长沙理工大学城南学院',\n",
       "      '湖南信息学院',\n",
       "      '长沙民政职业技术学院',\n",
       "      '湖南信息职业技术学院',\n",
       "      '长沙航空职业技术学院',\n",
       "      '湖南科技职业学院',\n",
       "      '湖南司法警官职业学院',\n",
       "      '湖南邮电职业技术学院',\n",
       "      '长沙环境保护职业技术学院',\n",
       "      '长沙南方职业学院',\n",
       "      '长沙电力职业技术学院',\n",
       "      '湖南安全技术职业学院',\n",
       "      '湖南外国语职业学院',\n",
       "      '湖南都市职业学院',\n",
       "      '湖南三一工业职业技术学院',\n",
       "      '湖南劳动人事职业学院',\n",
       "      '湖南大学']},\n",
       "    {'city_name': '岳阳市',\n",
       "     'universities': ['湖南理工学院南湖学院',\n",
       "      '岳阳职业技术学院',\n",
       "      '湖南石油化工职业技术学院',\n",
       "      '湖南民族职业学院',\n",
       "      '湖南理工学院']},\n",
       "    {'city_name': '郴州市', 'universities': ['郴州职业技术学院', '湘南幼儿师范高等专科学校', '湘南学院']},\n",
       "    {'city_name': '衡阳市',\n",
       "     'universities': ['南华大学',\n",
       "      '湖南工学院',\n",
       "      '南华大学船山学院',\n",
       "      '衡阳师范学院南岳学院',\n",
       "      '湖南交通工程学院',\n",
       "      '湖南环境生物职业技术学院',\n",
       "      '湖南财经工业职业技术学院',\n",
       "      '湖南高速铁路职业技术学院',\n",
       "      '湖南工商职业学院',\n",
       "      '衡阳师范学院']},\n",
       "    {'city_name': '邵阳市', 'universities': ['湘中幼儿师范高等专科学校', '邵阳职业技术学院', '邵阳学院']},\n",
       "    {'city_name': '怀化市', 'universities': ['湖南医药学院', '怀化职业技术学院', '怀化学院']},\n",
       "    {'city_name': '常德市',\n",
       "     'universities': ['湖南文理学院芙蓉学院',\n",
       "      '湖南应用技术学院',\n",
       "      '常德职业技术学院',\n",
       "      '湖南高尔夫旅游职业学院',\n",
       "      '湖南幼儿师范高等专科学校',\n",
       "      '湖南文理学院']},\n",
       "    {'city_name': '永州市', 'universities': ['永州职业技术学院', '湖南九嶷职业技术学院', '湖南科技学院']},\n",
       "    {'city_name': '娄底市', 'universities': ['娄底职业技术学院', '潇湘职业学院', '湖南人文科技学院']},\n",
       "    {'city_name': '益阳市', 'universities': ['益阳职业技术学院', '益阳医学高等专科学校', '湖南城市学院']},\n",
       "    {'city_name': '株洲市',\n",
       "     'universities': ['湖南工业大学科技学院',\n",
       "      '株洲师范高等专科学校',\n",
       "      '湖南冶金职业技术学院',\n",
       "      '湖南铁道职业技术学院',\n",
       "      '湖南化工职业技术学院',\n",
       "      '湖南中医药高等专科学校',\n",
       "      '湖南汽车工程职业学院',\n",
       "      '湖南铁路科技职业技术学院',\n",
       "      '湖南有色金属职业技术学院',\n",
       "      '湖南工业大学']},\n",
       "    {'city_name': '张家界市', 'universities': ['张家界航空工业职业技术学院', '吉首大学张家界学院']},\n",
       "    {'city_name': '湘潭市',\n",
       "     'universities': ['湘潭大学',\n",
       "      '湖南科技大学',\n",
       "      '中南大学',\n",
       "      '湖南农业大学',\n",
       "      '中南林业科技大学',\n",
       "      '湖南中医药大学',\n",
       "      '湖南师范大学',\n",
       "      '湖南工程学院',\n",
       "      '长沙学院',\n",
       "      '湖南警察学院',\n",
       "      '湘潭大学兴湘学院',\n",
       "      '湖南科技大学潇湘学院',\n",
       "      '湖南第一师范学院',\n",
       "      '湖南师范大学树达学院',\n",
       "      '湖南农业大学东方科技学院',\n",
       "      '湖南工程学院应用技术学院',\n",
       "      '中南林业科技大学涉外学院',\n",
       "      '长沙师范学院',\n",
       "      '湖南工业职业技术学院',\n",
       "      '湖南税务高等专科学校',\n",
       "      '湖南大众传媒职业技术学院',\n",
       "      '湖南生物机电职业技术学院',\n",
       "      '湖南交通职业技术学院',\n",
       "      '湖南商务职业技术学院',\n",
       "      '湖南体育职业学院',\n",
       "      '湖南工程职业技术学院',\n",
       "      '保险职业学院',\n",
       "      '湖南外贸职业学院',\n",
       "      '湖南网络工程职业学院',\n",
       "      '湘潭医卫职业技术学院',\n",
       "      '长沙商贸旅游职业技术学院',\n",
       "      '湖南艺术职业学院',\n",
       "      '湖南机电职业技术学院',\n",
       "      '湖南城建职业技术学院',\n",
       "      '长沙职业技术学院',\n",
       "      '湖南理工职业技术学院',\n",
       "      '湖南工艺美术职业学院',\n",
       "      '湖南软件职业学院',\n",
       "      '湖南水利水电职业技术学院',\n",
       "      '湖南电气职业技术学院',\n",
       "      '湖南现代物流职业技术学院',\n",
       "      '湖南国防工业职业技术学院',\n",
       "      '湖南电子科技职业学院',\n",
       "      '长沙卫生职业学院',\n",
       "      '湖南吉利汽车职业技术学院',\n",
       "      '湖南食品药品职业学院']}]},\n",
       "  {'province_name': '广东省',\n",
       "   'cities': [{'city_name': '汕头市',\n",
       "     'universities': ['广东以色列理工学院', '汕头职业技术学院', '汕头大学']},\n",
       "    {'city_name': '湛江市',\n",
       "     'universities': ['广东医科大学',\n",
       "      '岭南师范学院',\n",
       "      '广东海洋大学寸金学院',\n",
       "      '广东文理职业学院',\n",
       "      '湛江幼儿师范专科学校',\n",
       "      '广东海洋大学']},\n",
       "    {'city_name': '韶关市', 'universities': ['广东松山职业技术学院', '韶关学院']},\n",
       "    {'city_name': '惠州市',\n",
       "     'universities': ['惠州经济职业技术学院',\n",
       "      '惠州卫生职业技术学院',\n",
       "      '惠州城市职业学院',\n",
       "      '惠州工程职业学院',\n",
       "      '惠州学院']},\n",
       "    {'city_name': '潮州市', 'universities': ['韩山师范学院']},\n",
       "    {'city_name': '肇庆市',\n",
       "     'universities': ['广东理工学院', '广东工商职业学院', '广东信息工程职业学院', '肇庆学院']},\n",
       "    {'city_name': '梅州市', 'universities': ['嘉应学院']},\n",
       "    {'city_name': '深圳市',\n",
       "     'universities': ['南方科技大学',\n",
       "      '香港中文大学（深圳）',\n",
       "      '深圳职业技术学院',\n",
       "      '广东新安职业技术学院',\n",
       "      '深圳信息职业技术学院',\n",
       "      '深圳大学']},\n",
       "    {'city_name': '江门市',\n",
       "     'universities': ['江门职业技术学院', '广东南方职业学院', '广东江门中医药职业学院', '五邑大学']},\n",
       "    {'city_name': '中山市',\n",
       "     'universities': ['中山火炬职业技术学院', '中山职业技术学院', '电子科技大学中山学院']},\n",
       "    {'city_name': '茂名市',\n",
       "     'universities': ['茂名职业技术学院', '广东茂名健康职业学院', '广东茂名幼儿师范专科学校', '广东石油化工学院']},\n",
       "    {'city_name': '东莞市',\n",
       "     'universities': ['广东科技学院',\n",
       "      '东莞理工学院城市学院',\n",
       "      '广东亚视演艺职业学院',\n",
       "      '东莞职业技术学院',\n",
       "      '广东创新科技职业学院',\n",
       "      '广东酒店管理职业技术学院',\n",
       "      '东莞理工学院']},\n",
       "    {'city_name': '佛山市',\n",
       "     'universities': ['广东东软学院',\n",
       "      '顺德职业技术学院',\n",
       "      '佛山职业技术学院',\n",
       "      '广东职业技术学院',\n",
       "      '广东环境保护工程职业学院',\n",
       "      '佛山科学技术学院']},\n",
       "    {'city_name': '珠海市',\n",
       "     'universities': ['北京理工大学珠海学院',\n",
       "      '北京师范大学-香港浸会大学联合国际学院',\n",
       "      '珠海艺术职业学院',\n",
       "      '珠海城市职业技术学院',\n",
       "      '北京师范大学珠海分校']},\n",
       "    {'city_name': '揭阳市', 'universities': ['揭阳职业技术学院', '潮汕职业技术学院']},\n",
       "    {'city_name': '汕尾市', 'universities': ['汕尾职业技术学院']},\n",
       "    {'city_name': '云浮市', 'universities': ['罗定职业技术学院']},\n",
       "    {'city_name': '阳江市', 'universities': ['阳江职业技术学院']},\n",
       "    {'city_name': '河源市', 'universities': ['河源职业技术学院']},\n",
       "    {'city_name': '清远市', 'universities': ['广东碧桂园职业学院', '清远职业技术学院']},\n",
       "    {'city_name': '广州市',\n",
       "     'universities': ['中山大学',\n",
       "      '华南理工大学',\n",
       "      '暨南大学',\n",
       "      '广州医科大学',\n",
       "      '广州中医药大学',\n",
       "      '华南农业大学',\n",
       "      '广东药科大学',\n",
       "      '广州体育学院',\n",
       "      '华南师范大学',\n",
       "      '广州美术学院',\n",
       "      '星海音乐学院',\n",
       "      '广东财经大学',\n",
       "      '广东技术师范学院',\n",
       "      '广东白云学院',\n",
       "      '广州大学',\n",
       "      '广州航海学院',\n",
       "      '广东警官学院',\n",
       "      '广东金融学院',\n",
       "      '广东工业大学',\n",
       "      '仲恺农业工程学院',\n",
       "      '广东培正学院',\n",
       "      '广东外语外贸大学',\n",
       "      '华南理工大学广州学院',\n",
       "      '南方医科大学',\n",
       "      '广州大学华软软件学院',\n",
       "      '中山大学南方学院',\n",
       "      '广东外语外贸大学南国商学院',\n",
       "      '华南农业大学珠江学院',\n",
       "      '广东财经大学华商学院',\n",
       "      '广东工业大学华立学院',\n",
       "      '广东技术师范学院天河学院',\n",
       "      '广州大学松田学院',\n",
       "      '广州商学院',\n",
       "      '广州工商学院',\n",
       "      '中山大学新华学院',\n",
       "      '吉林大学珠海学院',\n",
       "      '广东第二师范学院',\n",
       "      '广东轻工职业技术学院',\n",
       "      '深圳北理莫斯科大学',\n",
       "      '广东交通职业技术学院',\n",
       "      '广东南华工商职业学院',\n",
       "      '广东水利电力职业技术学院',\n",
       "      '私立华联学院',\n",
       "      '广州民航职业技术学院',\n",
       "      '广东农工商职业技术学院',\n",
       "      '广东科学技术职业学院',\n",
       "      '广州番禺职业技术学院',\n",
       "      '广东食品药品职业学院',\n",
       "      '广东行政职业学院',\n",
       "      '广州康大职业技术学院',\n",
       "      '广东建设职业技术学院',\n",
       "      '广东体育职业技术学院',\n",
       "      '广东女子职业技术学院',\n",
       "      '广东机电职业技术学院',\n",
       "      '广东邮电职业技术学院',\n",
       "      '广东工贸职业技术学院',\n",
       "      '广东岭南职业技术学院',\n",
       "      '广东省外语艺术职业学院',\n",
       "      '广东司法警官职业学院',\n",
       "      '广东文艺职业学院',\n",
       "      '广州体育职业技术学院',\n",
       "      '广州涉外经济职业技术学院',\n",
       "      '广州工程技术职业学院',\n",
       "      '广州南洋理工职业学院',\n",
       "      '广州科技职业技术学院',\n",
       "      '广州现代信息工程职业技术学院',\n",
       "      '肇庆医学高等专科学校',\n",
       "      '广东理工职业学院',\n",
       "      '广州华南商贸职业学院',\n",
       "      '广州华立科技职业学院',\n",
       "      '广州城市职业学院',\n",
       "      '广东工程职业技术学院',\n",
       "      '广州铁路职业技术学院',\n",
       "      '广东科贸职业学院',\n",
       "      '广州珠江职业技术学院',\n",
       "      '广州科技贸易职业学院',\n",
       "      '广州城建职业学院',\n",
       "      '广州华商职业学院',\n",
       "      '广州松田职业学院',\n",
       "      '广东青年职业学院',\n",
       "      '广州华夏职业学院',\n",
       "      '广东舞蹈戏剧职业学院',\n",
       "      '广东生态工程职业学院',\n",
       "      '公安边防部队高等专科学校',\n",
       "      '广州卫生职业技术学院',\n",
       "      '广州东华职业学院']}]},\n",
       "  {'province_name': '广西壮族自治区',\n",
       "   'cities': [{'city_name': '柳州市',\n",
       "     'universities': ['广西科技大学鹿山学院',\n",
       "      '柳州职业技术学院',\n",
       "      '柳州铁道职业技术学院',\n",
       "      '柳州城市职业学院',\n",
       "      '广西科技大学']},\n",
       "    {'city_name': '桂林市',\n",
       "     'universities': ['桂林医学院',\n",
       "      '桂林航天工业学院',\n",
       "      '广西师范大学漓江学院',\n",
       "      '桂林电子科技大学信息科技学院',\n",
       "      '桂林师范高等专科学校',\n",
       "      '桂林山水职业学院',\n",
       "      '桂林电子科技大学']},\n",
       "    {'city_name': '百色市',\n",
       "     'universities': ['百色学院', '百色职业学院', '广西培贤国际职业学院', '右江民族医学院']},\n",
       "    {'city_name': '崇左市',\n",
       "     'universities': ['广西城市职业学院',\n",
       "      '广西理工职业技术学院',\n",
       "      '广西科技职业学院',\n",
       "      '广西中远职业学院',\n",
       "      '广西民族师范学院']},\n",
       "    {'city_name': '河池市', 'universities': ['广西现代职业技术学院', '河池学院']},\n",
       "    {'city_name': '玉林市', 'universities': ['玉柴职业技术学院', '玉林师范学院']},\n",
       "    {'city_name': '梧州市', 'universities': ['梧州职业学院', '梧州学院']},\n",
       "    {'city_name': '来宾市', 'universities': ['广西蓝天航空职业学院', '广西科技师范学院']},\n",
       "    {'city_name': '钦州市', 'universities': ['广西英华国际职业学院', '钦州学院']},\n",
       "    {'city_name': '贺州市', 'universities': ['贺州学院']},\n",
       "    {'city_name': '北海市',\n",
       "     'universities': ['北京航空航天大学北海学院', '北海职业学院', '北海艺术设计学院']},\n",
       "    {'city_name': '南宁市',\n",
       "     'universities': ['广西大学',\n",
       "      '广西医科大学',\n",
       "      '广西中医药大学',\n",
       "      '桂林理工大学',\n",
       "      '广西师范学院',\n",
       "      '广西艺术学院',\n",
       "      '广西师范大学',\n",
       "      '广西财经学院',\n",
       "      '广西民族大学',\n",
       "      '南宁学院',\n",
       "      '广西警察学院',\n",
       "      '广西大学行健文理学院',\n",
       "      '广西民族大学相思湖学院',\n",
       "      '广西师范学院师园学院',\n",
       "      '桂林旅游学院',\n",
       "      '广西中医药大学赛恩斯新医药学院',\n",
       "      '广西外国语学院',\n",
       "      '广西机电职业技术学院',\n",
       "      '桂林理工大学博文管理学院',\n",
       "      '广西体育高等专科学校',\n",
       "      '南宁职业技术学院',\n",
       "      '广西职业技术学院',\n",
       "      '广西水利电力职业技术学院',\n",
       "      '广西交通职业技术学院',\n",
       "      '广西生态工程职业技术学院',\n",
       "      '广西工业职业技术学院',\n",
       "      '广西国际商务职业技术学院',\n",
       "      '广西建设职业技术学院',\n",
       "      '广西经贸职业技术学院',\n",
       "      '广西农业职业技术学院',\n",
       "      '广西工商职业技术学院',\n",
       "      '广西演艺职业学院',\n",
       "      '广西电力职业技术学院',\n",
       "      '广西经济职业学院',\n",
       "      '广西工程职业学院',\n",
       "      '广西卫生职业技术学院',\n",
       "      '广西金融职业技术学院',\n",
       "      '广西安全工程职业技术学院',\n",
       "      '广西幼儿师范高等专科学校']}]},\n",
       "  {'province_name': '海南省',\n",
       "   'cities': [{'city_name': '三亚市',\n",
       "     'universities': ['三亚学院',\n",
       "      '三亚城市职业学院',\n",
       "      '三亚航空旅游职业学院',\n",
       "      '三亚理工职业学院',\n",
       "      '三亚中瑞酒店管理职业学院',\n",
       "      '海南热带海洋学院']},\n",
       "    {'city_name': '琼海市', 'universities': ['海南软件职业技术学院']},\n",
       "    {'city_name': '文昌市', 'universities': ['海南外国语职业学院']},\n",
       "    {'city_name': '海口市',\n",
       "     'universities': ['海南师范大学',\n",
       "      '海南大学',\n",
       "      '海南医学院',\n",
       "      '海口经济学院',\n",
       "      '海南职业技术学院',\n",
       "      '海南政法职业学院',\n",
       "      '海南经贸职业技术学院',\n",
       "      '琼台师范学院',\n",
       "      '海南科技职业学院',\n",
       "      '海南体育职业技术学院',\n",
       "      '海南工商职业学院']}]},\n",
       "  {'province_name': '重庆市',\n",
       "   'cities': [{'city_name': '重庆市',\n",
       "     'universities': ['重庆大学',\n",
       "      '重庆邮电大学',\n",
       "      '重庆交通大学',\n",
       "      '重庆医科大学',\n",
       "      '西南大学',\n",
       "      '重庆师范大学',\n",
       "      '重庆文理学院',\n",
       "      '重庆三峡学院',\n",
       "      '长江师范学院',\n",
       "      '四川外国语大学',\n",
       "      '西南政法大学',\n",
       "      '四川美术学院',\n",
       "      '重庆科技学院',\n",
       "      '重庆理工大学',\n",
       "      '重庆工商大学',\n",
       "      '重庆工程学院',\n",
       "      '重庆大学城市科技学院',\n",
       "      '重庆警察学院',\n",
       "      '重庆人文科技学院',\n",
       "      '四川外国语大学重庆南方翻译学院',\n",
       "      '重庆师范大学涉外商贸学院',\n",
       "      '重庆工商大学融智学院',\n",
       "      '重庆工商大学派斯学院',\n",
       "      '重庆邮电大学移通学院',\n",
       "      '重庆第二师范学院',\n",
       "      '重庆航天职业技术学院',\n",
       "      '重庆电力高等专科学校',\n",
       "      '重庆工业职业技术学院',\n",
       "      '重庆三峡职业学院',\n",
       "      '重庆工贸职业技术学院',\n",
       "      '重庆机电职业技术学院',\n",
       "      '重庆电子工程职业学院',\n",
       "      '重庆海联职业技术学院',\n",
       "      '重庆信息技术职业学院',\n",
       "      '重庆传媒职业学院',\n",
       "      '重庆城市管理职业学院',\n",
       "      '重庆工程职业技术学院',\n",
       "      '重庆房地产职业学院',\n",
       "      '重庆城市职业学院',\n",
       "      '重庆水利电力职业技术学院',\n",
       "      '重庆工商职业学院',\n",
       "      '重庆应用技术职业学院',\n",
       "      '重庆三峡医药高等专科学校',\n",
       "      '重庆医药高等专科学校',\n",
       "      '重庆青年职业技术学院',\n",
       "      '重庆财经职业学院',\n",
       "      '重庆科创职业学院',\n",
       "      '重庆建筑工程职业学院',\n",
       "      '重庆电讯职业学院',\n",
       "      '重庆能源职业学院',\n",
       "      '重庆商务职业学院',\n",
       "      '重庆交通职业学院',\n",
       "      '重庆化工职业学院',\n",
       "      '重庆旅游职业学院',\n",
       "      '重庆安全技术职业学院',\n",
       "      '重庆公共运输职业学院',\n",
       "      '重庆艺术工程职业学院',\n",
       "      '重庆轻工职业学院',\n",
       "      '重庆电信职业学院',\n",
       "      '重庆经贸职业学院',\n",
       "      '重庆幼儿师范高等专科学校',\n",
       "      '重庆文化艺术职业学院',\n",
       "      '重庆科技职业学院',\n",
       "      '重庆资源与环境保护职业学院',\n",
       "      '重庆护理职业学院']}]},\n",
       "  {'province_name': '四川省',\n",
       "   'cities': [{'city_name': '绵阳市',\n",
       "     'universities': ['绵阳师范学院',\n",
       "      '西南财经大学天府学院',\n",
       "      '四川文化艺术学院',\n",
       "      '绵阳职业技术学院',\n",
       "      '四川中医药高等专科学校',\n",
       "      '四川幼儿师范高等专科学校',\n",
       "      '四川汽车职业技术学院',\n",
       "      '四川电子机械职业技术学院',\n",
       "      '西南科技大学']},\n",
       "    {'city_name': '自贡市', 'universities': ['四川卫生康复职业学院', '四川理工学院']},\n",
       "    {'city_name': '德阳市',\n",
       "     'universities': ['四川工业科技学院',\n",
       "      '四川工程职业技术学院',\n",
       "      '四川司法警官职业学院',\n",
       "      '四川护理职业学院',\n",
       "      '中国民用航空飞行学院']},\n",
       "    {'city_name': '雅安市', 'universities': ['雅安职业技术学院', '四川农业大学']},\n",
       "    {'city_name': '凉山彝族自治州', 'universities': ['西昌学院']},\n",
       "    {'city_name': '泸州市',\n",
       "     'universities': ['四川警察学院',\n",
       "      '四川化工职业技术学院',\n",
       "      '泸州职业技术学院',\n",
       "      '四川三河职业学院',\n",
       "      '西南医科大学']},\n",
       "    {'city_name': '南充市',\n",
       "     'universities': ['西华师范大学', '西南交通大学希望学院', '南充职业技术学院', '川北医学院']},\n",
       "    {'city_name': '内江市',\n",
       "     'universities': ['内江职业技术学院', '川南幼儿师范高等专科学校', '内江师范学院']},\n",
       "    {'city_name': '宜宾市', 'universities': ['宜宾职业技术学院', '宜宾学院']},\n",
       "    {'city_name': '达州市', 'universities': ['达州职业技术学院', '四川文理学院']},\n",
       "    {'city_name': '阿坝藏族羌族自治州', 'universities': ['阿坝师范学院']},\n",
       "    {'city_name': '乐山市',\n",
       "     'universities': ['成都理工大学工程技术学院', '乐山职业技术学院', '乐山师范学院']},\n",
       "    {'city_name': '攀枝花市', 'universities': ['四川机电职业技术学院', '攀枝花学院']},\n",
       "    {'city_name': '甘孜藏族自治州', 'universities': ['四川民族学院']},\n",
       "    {'city_name': '眉山市', 'universities': ['眉山职业技术学院', '四川大学锦江学院']},\n",
       "    {'city_name': '遂宁市', 'universities': ['四川职业技术学院']},\n",
       "    {'city_name': '广安市', 'universities': ['广安职业技术学院']},\n",
       "    {'city_name': '广元市', 'universities': ['川北幼儿师范高等专科学校', '四川信息职业技术学院']},\n",
       "    {'city_name': '巴中市', 'universities': ['巴中职业技术学院']},\n",
       "    {'city_name': '资阳市', 'universities': ['四川希望汽车职业学院']},\n",
       "    {'city_name': '凉山州', 'universities': ['四川应用技术职业学院']},\n",
       "    {'city_name': '成都市',\n",
       "     'universities': ['四川大学',\n",
       "      '西南交通大学',\n",
       "      '电子科技大学',\n",
       "      '西南石油大学',\n",
       "      '成都信息工程大学',\n",
       "      '西华大学',\n",
       "      '成都中医药大学',\n",
       "      '四川师范大学',\n",
       "      '西南财经大学',\n",
       "      '成都理工大学',\n",
       "      '成都体育学院',\n",
       "      '四川音乐学院',\n",
       "      '西南民族大学',\n",
       "      '成都学院',\n",
       "      '四川旅游学院',\n",
       "      '成都东软学院',\n",
       "      '成都工业学院',\n",
       "      '四川传媒学院',\n",
       "      '电子科技大学成都学院',\n",
       "      '成都信息工程大学银杏酒店管理学院',\n",
       "      '成都文理学院',\n",
       "      '四川工商学院',\n",
       "      '四川外国语大学成都学院',\n",
       "      '四川大学锦城学院',\n",
       "      '成都医学院',\n",
       "      '成都师范学院',\n",
       "      '西南科技大学城市学院',\n",
       "      '四川电影电视学院',\n",
       "      '成都纺织高等专科学校',\n",
       "      '民办四川天一学院',\n",
       "      '成都航空职业技术学院',\n",
       "      '四川电力职业技术学院',\n",
       "      '四川水利职业技术学院',\n",
       "      '四川航天职业技术学院',\n",
       "      '成都职业技术学院',\n",
       "      '四川交通职业技术学院',\n",
       "      '四川邮电职业技术学院',\n",
       "      '四川工商职业技术学院',\n",
       "      '四川托普信息技术职业学院',\n",
       "      '四川建筑职业技术学院',\n",
       "      '四川国际标榜职业学院',\n",
       "      '成都艺术职业学院',\n",
       "      '四川商务职业学院',\n",
       "      '四川文化传媒职业学院',\n",
       "      '成都农业科技职业学院',\n",
       "      '四川华新现代职业学院',\n",
       "      '四川管理职业学院',\n",
       "      '四川科技职业学院',\n",
       "      '四川艺术职业学院',\n",
       "      '四川文化产业职业学院',\n",
       "      '四川财经职业学院',\n",
       "      '四川城市职业学院',\n",
       "      '四川长江职业学院',\n",
       "      '四川文轩职业学院',\n",
       "      '成都工业职业技术学院',\n",
       "      '四川现代职业学院',\n",
       "      '四川西南航空职业学院',\n",
       "      '成都工贸职业技术学院']}]},\n",
       "  {'province_name': '贵州省',\n",
       "   'cities': [{'city_name': '遵义市',\n",
       "     'universities': ['遵义师范学院',\n",
       "      '遵义医学院医学与科技学院',\n",
       "      '茅台学院',\n",
       "      '贵州航天职业技术学院',\n",
       "      '遵义职业技术学院',\n",
       "      '遵义医药高等专科学校',\n",
       "      '遵义医学院']},\n",
       "    {'city_name': '铜仁市',\n",
       "     'universities': ['铜仁职业技术学院',\n",
       "      '铜仁幼儿师范高等专科学校',\n",
       "      '贵州工程职业学院',\n",
       "      '贵州健康职业学院',\n",
       "      '铜仁学院']},\n",
       "    {'city_name': '黔西南布依族苗族自治州', 'universities': ['黔西南民族职业技术学院', '兴义民族师范学院']},\n",
       "    {'city_name': '安顺市', 'universities': ['安顺职业技术学院', '安顺学院']},\n",
       "    {'city_name': '毕节市',\n",
       "     'universities': ['毕节职业技术学院',\n",
       "      '毕节医学高等专科学校',\n",
       "      '毕节幼儿师范高等专科学校',\n",
       "      '贵州工贸职业学院',\n",
       "      '贵州工程应用技术学院']},\n",
       "    {'city_name': '黔东南苗族侗族自治州',\n",
       "     'universities': ['贵州电子信息职业技术学院', '黔东南民族职业技术学院', '凯里学院']},\n",
       "    {'city_name': '黔南布依族苗族自治州',\n",
       "     'universities': ['黔南民族医学高等专科学校',\n",
       "      '黔南民族职业技术学院',\n",
       "      '贵州盛华职业学院',\n",
       "      '黔南民族幼儿师范高等专科学校',\n",
       "      '贵州应用技术职业学院',\n",
       "      '贵州经贸职业技术学院',\n",
       "      '黔南民族师范学院']},\n",
       "    {'city_name': '六盘水市', 'universities': ['六盘水职业技术学院', '六盘水师范学院']},\n",
       "    {'city_name': '贵阳市',\n",
       "     'universities': ['贵州大学',\n",
       "      '贵阳中医学院',\n",
       "      '贵州医科大学',\n",
       "      '贵州财经大学',\n",
       "      '贵州师范大学',\n",
       "      '贵州民族大学',\n",
       "      '贵州商学院',\n",
       "      '贵阳学院',\n",
       "      '贵州警察学院',\n",
       "      '贵阳中医学院时珍学院',\n",
       "      '贵州财经大学商务学院',\n",
       "      '贵州大学科技学院',\n",
       "      '贵州大学明德学院',\n",
       "      '贵州民族大学人文科技学院',\n",
       "      '贵州医科大学神奇民族医药学院',\n",
       "      '贵州师范大学求是学院',\n",
       "      '贵州师范学院',\n",
       "      '贵州交通职业技术学院',\n",
       "      '贵州城市职业学院',\n",
       "      '贵州理工学院',\n",
       "      '贵州工业职业技术学院',\n",
       "      '贵州轻工职业技术学院',\n",
       "      '贵阳护理职业学院',\n",
       "      '贵州电力职业技术学院',\n",
       "      '贵州职业技术学院',\n",
       "      '贵州工商职业学院',\n",
       "      '贵阳职业技术学院',\n",
       "      '贵州建设职业技术学院',\n",
       "      '贵州农业职业学院',\n",
       "      '贵州水利水电职业技术学院',\n",
       "      '贵阳幼儿师范高等专科学校',\n",
       "      '贵州电子科技职业学院',\n",
       "      '贵州电子商务职业技术学院',\n",
       "      '贵州食品工程职业学院',\n",
       "      '贵州装备制造职业学院',\n",
       "      '贵州航空职业技术学院',\n",
       "      '贵州护理职业技术学院']}]},\n",
       "  {'province_name': '云南省',\n",
       "   'cities': [{'city_name': '大理白族自治州',\n",
       "     'universities': ['滇西应用技术大学', '大理农林职业技术学院', '大理护理职业学院', '大理大学']},\n",
       "    {'city_name': '昭通市', 'universities': ['昭通卫生职业学院', '昭通学院']},\n",
       "    {'city_name': '曲靖市',\n",
       "     'universities': ['云南能源职业技术学院', '曲靖医学高等专科学校', '曲靖师范学院']},\n",
       "    {'city_name': '普洱市', 'universities': ['普洱学院']},\n",
       "    {'city_name': '保山市', 'universities': ['保山中医药高等专科学校', '保山学院']},\n",
       "    {'city_name': '红河哈尼族彝族自治州',\n",
       "     'universities': ['云南锡业职业技术学院', '红河卫生职业学院', '红河学院']},\n",
       "    {'city_name': '玉溪市', 'universities': ['玉溪农业职业技术学院', '玉溪师范学院']},\n",
       "    {'city_name': '楚雄彝族自治州',\n",
       "     'universities': ['楚雄医药高等专科学校', '云南现代职业技术学院', '楚雄师范学院']},\n",
       "    {'city_name': '文山壮族苗族自治州', 'universities': ['云南三鑫职业技术学院', '文山学院']},\n",
       "    {'city_name': '丽江市', 'universities': ['丽江师范高等专科学校', '云南大学旅游文化学院']},\n",
       "    {'city_name': '临沧市', 'universities': ['滇西科技师范学院']},\n",
       "    {'city_name': '西双版纳傣族自治州', 'universities': ['西双版纳职业技术学院']},\n",
       "    {'city_name': '德宏傣族景颇族自治州', 'universities': ['德宏职业学院', '德宏师范高等专科学校']},\n",
       "    {'city_name': '昆明市',\n",
       "     'universities': ['云南大学',\n",
       "      '昆明理工大学',\n",
       "      '云南农业大学',\n",
       "      '西南林业大学',\n",
       "      '云南中医学院',\n",
       "      '昆明医科大学',\n",
       "      '云南财经大学',\n",
       "      '云南师范大学',\n",
       "      '云南艺术学院',\n",
       "      '云南警官学院',\n",
       "      '云南民族大学',\n",
       "      '云南经济管理学院',\n",
       "      '昆明学院',\n",
       "      '昆明理工大学津桥学院',\n",
       "      '云南大学滇池学院',\n",
       "      '云南师范大学商学院',\n",
       "      '云南师范大学文理学院',\n",
       "      '昆明医科大学海源学院',\n",
       "      '云南艺术学院文华学院',\n",
       "      '昆明冶金高等专科学校',\n",
       "      '云南工商学院',\n",
       "      '云南国土资源职业学院',\n",
       "      '云南交通职业技术学院',\n",
       "      '昆明工业职业技术学院',\n",
       "      '云南农业职业技术学院',\n",
       "      '云南司法警官职业学院',\n",
       "      '云南文化艺术职业学院',\n",
       "      '云南体育运动职业技术学院',\n",
       "      '昆明艺术职业学院',\n",
       "      '云南国防工业职业技术学院',\n",
       "      '云南科技信息职业学院',\n",
       "      '云南机电职业技术学院',\n",
       "      '云南林业职业技术学院',\n",
       "      '云南城市建设职业学院',\n",
       "      '云南新兴职业学院',\n",
       "      '云南经贸外事职业学院',\n",
       "      '云南商务职业学院',\n",
       "      '云南工程职业学院',\n",
       "      '云南旅游职业学院',\n",
       "      '云南外事外语职业学院',\n",
       "      '公安消防部队高等专科学校',\n",
       "      '昆明卫生职业学院',\n",
       "      '云南财经职业学院',\n",
       "      '云南水利水电职业学院',\n",
       "      '昆明铁道职业技术学院',\n",
       "      '云南轻纺职业学院',\n",
       "      '云南特殊教育职业学院',\n",
       "      '云南工贸职业技术学院',\n",
       "      '云南交通运输职业学院']}]},\n",
       "  {'province_name': '西藏自治区',\n",
       "   'cities': [{'city_name': '咸阳市', 'universities': ['西藏民族大学']},\n",
       "    {'city_name': '林芝市', 'universities': ['西藏农牧学院']},\n",
       "    {'city_name': '拉萨市',\n",
       "     'universities': ['西藏藏医学院',\n",
       "      '西藏警官高等专科学校',\n",
       "      '西藏大学',\n",
       "      '拉萨师范高等专科学校',\n",
       "      '西藏职业技术学院']}]},\n",
       "  {'province_name': '陕西省',\n",
       "   'cities': [{'city_name': '咸阳市',\n",
       "     'universities': ['咸阳师范学院',\n",
       "      '陕西国际商贸学院',\n",
       "      '陕西科技大学镐京学院',\n",
       "      '陕西工业职业技术学院',\n",
       "      '陕西能源职业技术学院',\n",
       "      '陕西财经职业技术学院',\n",
       "      '陕西邮电职业技术学院',\n",
       "      '咸阳职业技术学院',\n",
       "      '西北农林科技大学']},\n",
       "    {'city_name': '延安市', 'universities': ['延安职业技术学院', '延安大学']},\n",
       "    {'city_name': '汉中市', 'universities': ['陕西航空职业技术学院', '汉中职业技术学院', '陕西理工大学']},\n",
       "    {'city_name': '宝鸡市', 'universities': ['宝鸡职业技术学院', '陕西机电职业技术学院', '宝鸡文理学院']},\n",
       "    {'city_name': '渭南市',\n",
       "     'universities': ['陕西铁路工程职业技术学院', '渭南职业技术学院', '渭南师范学院']},\n",
       "    {'city_name': '榆林市', 'universities': ['榆林职业技术学院', '榆林学院']},\n",
       "    {'city_name': '商洛市', 'universities': ['商洛职业技术学院', '商洛学院']},\n",
       "    {'city_name': '安康市', 'universities': ['安康职业技术学院', '安康学院']},\n",
       "    {'city_name': '铜川市', 'universities': ['铜川职业技术学院']},\n",
       "    {'city_name': '西安市',\n",
       "     'universities': ['西北大学',\n",
       "      '西安交通大学',\n",
       "      '西北工业大学',\n",
       "      '西安理工大学',\n",
       "      '西安电子科技大学',\n",
       "      '西安工业大学',\n",
       "      '西安建筑科技大学',\n",
       "      '西安科技大学',\n",
       "      '西安石油大学',\n",
       "      '陕西科技大学',\n",
       "      '西安工程大学',\n",
       "      '长安大学',\n",
       "      '陕西师范大学',\n",
       "      '西安外国语大学',\n",
       "      '陕西中医药大学',\n",
       "      '西北政法大学',\n",
       "      '西安体育学院',\n",
       "      '西安音乐学院',\n",
       "      '西安美术学院',\n",
       "      '西安培华学院',\n",
       "      '西安文理学院',\n",
       "      '西安财经学院',\n",
       "      '西安邮电大学',\n",
       "      '西安航空学院',\n",
       "      '西安医学院',\n",
       "      '西安欧亚学院',\n",
       "      '西安外事学院',\n",
       "      '西安翻译学院',\n",
       "      '西京学院',\n",
       "      '西安思源学院',\n",
       "      '西安交通工程学院',\n",
       "      '陕西服装工程学院',\n",
       "      '西安交通大学城市学院',\n",
       "      '西北大学现代学院',\n",
       "      '西安建筑科技大学华清学院',\n",
       "      '西安工业大学北方信息工程学院',\n",
       "      '西安财经学院行知学院',\n",
       "      '延安大学西安创新学院',\n",
       "      '西安电子科技大学长安学院',\n",
       "      '西北工业大学明德学院',\n",
       "      '长安大学兴华学院',\n",
       "      '西安理工大学高科学院',\n",
       "      '西安科技大学高新学院',\n",
       "      '陕西学前师范学院',\n",
       "      '西安电力高等专科学校',\n",
       "      '陕西国防工业职业技术学院',\n",
       "      '杨凌职业技术学院',\n",
       "      '陕西交通职业技术学院',\n",
       "      '西安航空职业技术学院',\n",
       "      '陕西职业技术学院',\n",
       "      '西安高新科技职业学院',\n",
       "      '陕西电子信息职业技术学院',\n",
       "      '西安海棠职业学院',\n",
       "      '西安城市建设职业学院',\n",
       "      '西安汽车科技职业学院',\n",
       "      '西安东方亚太职业技术学院',\n",
       "      '陕西警官职业学院',\n",
       "      '陕西经济管理职业技术学院',\n",
       "      '西安职业技术学院',\n",
       "      '陕西青年职业学院',\n",
       "      '西安铁路职业技术学院',\n",
       "      '陕西工商职业学院',\n",
       "      '陕西电子科技职业学院',\n",
       "      '陕西旅游烹饪职业学院',\n",
       "      '陕西艺术职业学院',\n",
       "      '西安医学高等专科学校']}]},\n",
       "  {'province_name': '甘肃省',\n",
       "   'cities': [{'city_name': '庆阳市', 'universities': ['庆阳职业技术学院', '陇东学院']},\n",
       "    {'city_name': '天水市',\n",
       "     'universities': ['甘肃林业职业技术学院', '甘肃机电职业技术学院', '天水师范学院']},\n",
       "    {'city_name': '张掖市', 'universities': ['河西学院']},\n",
       "    {'city_name': '甘南藏族自治州', 'universities': ['甘肃民族师范学院']},\n",
       "    {'city_name': '平凉市', 'universities': ['平凉职业技术学院', '甘肃医学院']},\n",
       "    {'city_name': '陇南市', 'universities': ['陇南师范高等专科学校']},\n",
       "    {'city_name': '定西市', 'universities': ['定西师范高等专科学校']},\n",
       "    {'city_name': '酒泉市', 'universities': ['酒泉职业技术学院']},\n",
       "    {'city_name': '武威市', 'universities': ['甘肃畜牧工程职业技术学院', '武威职业学院']},\n",
       "    {'city_name': '嘉峪关市', 'universities': ['甘肃钢铁职业技术学院']},\n",
       "    {'city_name': '金昌市', 'universities': ['甘肃有色冶金职业技术学院']},\n",
       "    {'city_name': '白银市', 'universities': ['白银矿冶职业技术学院']},\n",
       "    {'city_name': '临夏州', 'universities': ['临夏现代职业学院']},\n",
       "    {'city_name': '兰州市',\n",
       "     'universities': ['兰州大学',\n",
       "      '兰州理工大学',\n",
       "      '兰州交通大学',\n",
       "      '甘肃农业大学',\n",
       "      '甘肃中医药大学',\n",
       "      '西北师范大学',\n",
       "      '兰州财经大学',\n",
       "      '兰州城市学院',\n",
       "      '西北民族大学',\n",
       "      '兰州文理学院',\n",
       "      '兰州工业学院',\n",
       "      '甘肃政法学院',\n",
       "      '西北师范大学知行学院',\n",
       "      '兰州财经大学陇桥学院',\n",
       "      '兰州财经大学长青学院',\n",
       "      '兰州交通大学博文学院',\n",
       "      '兰州理工大学技术工程学院',\n",
       "      '甘肃建筑职业技术学院',\n",
       "      '兰州外语职业学院',\n",
       "      '兰州石化职业技术学院',\n",
       "      '兰州职业技术学院',\n",
       "      '甘肃警察职业学院',\n",
       "      '甘肃交通职业技术学院',\n",
       "      '甘肃工业职业技术学院',\n",
       "      '兰州资源环境职业技术学院',\n",
       "      '甘肃卫生职业学院',\n",
       "      '甘肃农业职业技术学院',\n",
       "      '甘肃能源化工职业学院',\n",
       "      '兰州科技职业学院',\n",
       "      '甘肃财贸职业学院',\n",
       "      '兰州现代职业学院']}]},\n",
       "  {'province_name': '青海省',\n",
       "   'cities': [{'city_name': '海东市', 'universities': ['青海高等职业技术学院']},\n",
       "    {'city_name': '海西蒙古族藏族自治州', 'universities': ['青海柴达木职业技术学院']},\n",
       "    {'city_name': '西宁市',\n",
       "     'universities': ['青海大学',\n",
       "      '青海师范大学',\n",
       "      '青海民族大学',\n",
       "      '青海大学昆仑学院',\n",
       "      '青海卫生职业技术学院',\n",
       "      '青海警官职业学院',\n",
       "      '青海畜牧兽医职业技术学院',\n",
       "      '青海交通职业技术学院',\n",
       "      '青海建筑职业技术学院',\n",
       "      '西宁城市职业技术学院']}]},\n",
       "  {'province_name': '宁夏回族自治区',\n",
       "   'cities': [{'city_name': '固原市', 'universities': ['宁夏师范学院']},\n",
       "    {'city_name': '石嘴山市', 'universities': ['宁夏理工学院']},\n",
       "    {'city_name': '吴忠市', 'universities': ['宁夏民族职业技术学院']},\n",
       "    {'city_name': '银川市',\n",
       "     'universities': ['宁夏大学',\n",
       "      '北方民族大学',\n",
       "      '宁夏大学新华学院',\n",
       "      '宁夏医科大学',\n",
       "      '银川能源学院',\n",
       "      '宁夏工业职业学院',\n",
       "      '中国矿业大学银川学院',\n",
       "      '宁夏职业技术学院',\n",
       "      '宁夏工商职业技术学院',\n",
       "      '宁夏财经职业技术学院',\n",
       "      '宁夏警官职业学院',\n",
       "      '宁夏建设职业技术学院',\n",
       "      '宁夏葡萄酒与防沙治沙职业技术学院',\n",
       "      '宁夏幼儿师范高等专科学校',\n",
       "      '宁夏艺术职业学院',\n",
       "      '宁夏体育职业学院']}]},\n",
       "  {'province_name': '新疆维吾尔自治区',\n",
       "   'cities': [{'city_name': '阿拉尔市', 'universities': ['塔里木大学']},\n",
       "    {'city_name': '石河子市',\n",
       "     'universities': ['石河子大学科技学院', '新疆石河子职业技术学院', '石河子大学']},\n",
       "    {'city_name': '喀什地区', 'universities': ['喀什大学']},\n",
       "    {'city_name': '伊犁哈萨克自治州',\n",
       "     'universities': ['伊犁职业技术学院', '新疆应用职业技术学院', '伊犁师范学院']},\n",
       "    {'city_name': '昌吉回族自治州',\n",
       "     'universities': ['新疆农业职业技术学院', '昌吉职业技术学院', '昌吉学院']},\n",
       "    {'city_name': '和田地区', 'universities': ['新疆维吾尔医学专科学校', '和田师范专科学校']},\n",
       "    {'city_name': '克拉玛依市', 'universities': ['克拉玛依职业技术学院']},\n",
       "    {'city_name': '阿克苏地区', 'universities': ['阿克苏职业技术学院']},\n",
       "    {'city_name': '巴音郭楞蒙古自治州', 'universities': ['巴音郭楞职业技术学院']},\n",
       "    {'city_name': '五家渠市', 'universities': ['新疆兵团警官高等专科学校']},\n",
       "    {'city_name': '哈密市', 'universities': ['哈密职业技术学院']},\n",
       "    {'city_name': '吐鲁番市', 'universities': ['吐鲁番职业技术学院']},\n",
       "    {'city_name': '博尔塔拉蒙古自治州', 'universities': ['博尔塔拉职业技术学院']},\n",
       "    {'city_name': '乌鲁木齐市',\n",
       "     'universities': ['新疆农业大学',\n",
       "      '新疆医科大学',\n",
       "      '新疆大学',\n",
       "      '新疆财经大学',\n",
       "      '新疆师范大学',\n",
       "      '新疆艺术学院',\n",
       "      '新疆警察学院',\n",
       "      '新疆工程学院',\n",
       "      '新疆大学科学技术学院',\n",
       "      '新疆农业大学科学技术学院',\n",
       "      '新疆医科大学厚博学院',\n",
       "      '乌鲁木齐职业大学',\n",
       "      '新疆机电职业技术学院',\n",
       "      '新疆财经大学商务学院',\n",
       "      '新疆轻工职业技术学院',\n",
       "      '新疆建设职业技术学院',\n",
       "      '新疆现代职业技术学院',\n",
       "      '新疆能源职业技术学院',\n",
       "      '新疆天山职业技术学院',\n",
       "      '新疆职业大学',\n",
       "      '新疆交通职业技术学院',\n",
       "      '新疆师范高等专科学校',\n",
       "      '新疆体育职业技术学院',\n",
       "      '新疆铁道职业技术学院',\n",
       "      '新疆科技职业技术学院',\n",
       "      '新疆工业职业技术学院',\n",
       "      '新疆生产建设兵团兴新职业技术学院']}]}]}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "31"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(data['schools'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['北京市', 92],\n",
       " ['天津市', 57],\n",
       " ['河北省', 5],\n",
       " ['河北省', 25],\n",
       " ['河北省', 1],\n",
       " ['河北省', 10],\n",
       " ['河北省', 5],\n",
       " ['河北省', 8],\n",
       " ['河北省', 5],\n",
       " ['河北省', 10],\n",
       " ['河北省', 2],\n",
       " ['河北省', 4],\n",
       " ['河北省', 6],\n",
       " ['河北省', 40],\n",
       " ['山西省', 6],\n",
       " ['山西省', 5],\n",
       " ['山西省', 5],\n",
       " ['山西省', 2],\n",
       " ['山西省', 5],\n",
       " ['山西省', 2],\n",
       " ['山西省', 2],\n",
       " ['山西省', 3],\n",
       " ['山西省', 1],\n",
       " ['山西省', 2],\n",
       " ['山西省', 47],\n",
       " ['内蒙古自治区', 5],\n",
       " ['内蒙古自治区', 2],\n",
       " ['内蒙古自治区', 4],\n",
       " ['内蒙古自治区', 3],\n",
       " ['内蒙古自治区', 3],\n",
       " ['内蒙古自治区', 2],\n",
       " ['内蒙古自治区', 3],\n",
       " ['内蒙古自治区', 1],\n",
       " ['内蒙古自治区', 1],\n",
       " ['内蒙古自治区', 1],\n",
       " ['内蒙古自治区', 1],\n",
       " ['内蒙古自治区', 27],\n",
       " ['辽宁省', 22],\n",
       " ['辽宁省', 2],\n",
       " ['辽宁省', 2],\n",
       " ['辽宁省', 4],\n",
       " ['辽宁省', 9],\n",
       " ['辽宁省', 2],\n",
       " ['辽宁省', 3],\n",
       " ['辽宁省', 3],\n",
       " ['辽宁省', 2],\n",
       " ['辽宁省', 3],\n",
       " ['辽宁省', 1],\n",
       " ['辽宁省', 4],\n",
       " ['辽宁省', 2],\n",
       " ['辽宁省', 56],\n",
       " ['吉林省', 3],\n",
       " ['吉林省', 7],\n",
       " ['吉林省', 1],\n",
       " ['吉林省', 4],\n",
       " ['吉林省', 3],\n",
       " ['吉林省', 1],\n",
       " ['吉林省', 1],\n",
       " ['吉林省', 1],\n",
       " ['吉林省', 41],\n",
       " ['黑龙江省', 5],\n",
       " ['黑龙江省', 4],\n",
       " ['黑龙江省', 7],\n",
       " ['黑龙江省', 6],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 1],\n",
       " ['黑龙江省', 51],\n",
       " ['上海市', 64],\n",
       " ['江苏省', 15],\n",
       " ['江苏省', 8],\n",
       " ['江苏省', 11],\n",
       " ['江苏省', 9],\n",
       " ['江苏省', 9],\n",
       " ['江苏省', 8],\n",
       " ['江苏省', 6],\n",
       " ['江苏省', 7],\n",
       " ['江苏省', 9],\n",
       " ['江苏省', 5],\n",
       " ['江苏省', 6],\n",
       " ['江苏省', 1],\n",
       " ['江苏省', 3],\n",
       " ['江苏省', 1],\n",
       " ['江苏省', 69],\n",
       " ['浙江省', 4],\n",
       " ['浙江省', 11],\n",
       " ['浙江省', 7],\n",
       " ['浙江省', 3],\n",
       " ['浙江省', 8],\n",
       " ['浙江省', 4],\n",
       " ['浙江省', 2],\n",
       " ['浙江省', 6],\n",
       " ['浙江省', 13],\n",
       " ['浙江省', 2],\n",
       " ['浙江省', 47],\n",
       " ['安徽省', 6],\n",
       " ['安徽省', 5],\n",
       " ['安徽省', 10],\n",
       " ['安徽省', 6],\n",
       " ['安徽省', 6],\n",
       " ['安徽省', 5],\n",
       " ['安徽省', 4],\n",
       " ['安徽省', 2],\n",
       " ['安徽省', 5],\n",
       " ['安徽省', 4],\n",
       " ['安徽省', 3],\n",
       " ['安徽省', 3],\n",
       " ['安徽省', 3],\n",
       " ['安徽省', 2],\n",
       " ['安徽省', 1],\n",
       " ['安徽省', 54],\n",
       " ['福建省', 14],\n",
       " ['福建省', 21],\n",
       " ['福建省', 4],\n",
       " ['福建省', 2],\n",
       " ['福建省', 6],\n",
       " ['福建省', 3],\n",
       " ['福建省', 2],\n",
       " ['福建省', 2],\n",
       " ['福建省', 35],\n",
       " ['江西省', 4],\n",
       " ['江西省', 9],\n",
       " ['江西省', 5],\n",
       " ['江西省', 4],\n",
       " ['江西省', 5],\n",
       " ['江西省', 2],\n",
       " ['江西省', 3],\n",
       " ['江西省', 5],\n",
       " ['江西省', 6],\n",
       " ['江西省', 2],\n",
       " ['江西省', 55],\n",
       " ['山东省', 15],\n",
       " ['山东省', 7],\n",
       " ['山东省', 9],\n",
       " ['山东省', 11],\n",
       " ['山东省', 3],\n",
       " ['山东省', 6],\n",
       " ['山东省', 3],\n",
       " ['山东省', 4],\n",
       " ['山东省', 13],\n",
       " ['山东省', 3],\n",
       " ['山东省', 4],\n",
       " ['山东省', 3],\n",
       " ['山东省', 4],\n",
       " ['山东省', 4],\n",
       " ['山东省', 3],\n",
       " ['山东省', 1],\n",
       " ['山东省', 52],\n",
       " ['河南省', 6],\n",
       " ['河南省', 6],\n",
       " ['河南省', 8],\n",
       " ['河南省', 5],\n",
       " ['河南省', 5],\n",
       " ['河南省', 3],\n",
       " ['河南省', 6],\n",
       " ['河南省', 4],\n",
       " ['河南省', 6],\n",
       " ['河南省', 6],\n",
       " ['河南省', 3],\n",
       " ['河南省', 5],\n",
       " ['河南省', 3],\n",
       " ['河南省', 2],\n",
       " ['河南省', 2],\n",
       " ['河南省', 1],\n",
       " ['河南省', 3],\n",
       " ['河南省', 60],\n",
       " ['湖北省', 6],\n",
       " ['湖北省', 4],\n",
       " ['湖北省', 4],\n",
       " ['湖北省', 3],\n",
       " ['湖北省', 5],\n",
       " ['湖北省', 4],\n",
       " ['湖北省', 3],\n",
       " ['湖北省', 2],\n",
       " ['湖北省', 5],\n",
       " ['湖北省', 2],\n",
       " ['湖北省', 1],\n",
       " ['湖北省', 1],\n",
       " ['湖北省', 1],\n",
       " ['湖北省', 1],\n",
       " ['湖北省', 1],\n",
       " ['湖北省', 86],\n",
       " ['湖南省', 2],\n",
       " ['湖南省', 25],\n",
       " ['湖南省', 5],\n",
       " ['湖南省', 3],\n",
       " ['湖南省', 10],\n",
       " ['湖南省', 3],\n",
       " ['湖南省', 3],\n",
       " ['湖南省', 6],\n",
       " ['湖南省', 3],\n",
       " ['湖南省', 3],\n",
       " ['湖南省', 3],\n",
       " ['湖南省', 10],\n",
       " ['湖南省', 2],\n",
       " ['湖南省', 46],\n",
       " ['广东省', 3],\n",
       " ['广东省', 6],\n",
       " ['广东省', 2],\n",
       " ['广东省', 5],\n",
       " ['广东省', 1],\n",
       " ['广东省', 4],\n",
       " ['广东省', 1],\n",
       " ['广东省', 6],\n",
       " ['广东省', 4],\n",
       " ['广东省', 3],\n",
       " ['广东省', 4],\n",
       " ['广东省', 7],\n",
       " ['广东省', 6],\n",
       " ['广东省', 5],\n",
       " ['广东省', 2],\n",
       " ['广东省', 1],\n",
       " ['广东省', 1],\n",
       " ['广东省', 1],\n",
       " ['广东省', 1],\n",
       " ['广东省', 2],\n",
       " ['广东省', 86],\n",
       " ['广西壮族自治区', 5],\n",
       " ['广西壮族自治区', 7],\n",
       " ['广西壮族自治区', 4],\n",
       " ['广西壮族自治区', 5],\n",
       " ['广西壮族自治区', 2],\n",
       " ['广西壮族自治区', 2],\n",
       " ['广西壮族自治区', 2],\n",
       " ['广西壮族自治区', 2],\n",
       " ['广西壮族自治区', 2],\n",
       " ['广西壮族自治区', 1],\n",
       " ['广西壮族自治区', 3],\n",
       " ['广西壮族自治区', 39],\n",
       " ['海南省', 6],\n",
       " ['海南省', 1],\n",
       " ['海南省', 1],\n",
       " ['海南省', 11],\n",
       " ['重庆市', 65],\n",
       " ['四川省', 9],\n",
       " ['四川省', 2],\n",
       " ['四川省', 5],\n",
       " ['四川省', 2],\n",
       " ['四川省', 1],\n",
       " ['四川省', 5],\n",
       " ['四川省', 4],\n",
       " ['四川省', 3],\n",
       " ['四川省', 2],\n",
       " ['四川省', 2],\n",
       " ['四川省', 1],\n",
       " ['四川省', 3],\n",
       " ['四川省', 2],\n",
       " ['四川省', 1],\n",
       " ['四川省', 2],\n",
       " ['四川省', 1],\n",
       " ['四川省', 1],\n",
       " ['四川省', 2],\n",
       " ['四川省', 1],\n",
       " ['四川省', 1],\n",
       " ['四川省', 1],\n",
       " ['四川省', 58],\n",
       " ['贵州省', 7],\n",
       " ['贵州省', 5],\n",
       " ['贵州省', 2],\n",
       " ['贵州省', 2],\n",
       " ['贵州省', 5],\n",
       " ['贵州省', 3],\n",
       " ['贵州省', 7],\n",
       " ['贵州省', 2],\n",
       " ['贵州省', 37],\n",
       " ['云南省', 4],\n",
       " ['云南省', 2],\n",
       " ['云南省', 3],\n",
       " ['云南省', 1],\n",
       " ['云南省', 2],\n",
       " ['云南省', 3],\n",
       " ['云南省', 2],\n",
       " ['云南省', 3],\n",
       " ['云南省', 2],\n",
       " ['云南省', 2],\n",
       " ['云南省', 1],\n",
       " ['云南省', 1],\n",
       " ['云南省', 2],\n",
       " ['云南省', 49],\n",
       " ['西藏自治区', 1],\n",
       " ['西藏自治区', 1],\n",
       " ['西藏自治区', 5],\n",
       " ['陕西省', 9],\n",
       " ['陕西省', 2],\n",
       " ['陕西省', 3],\n",
       " ['陕西省', 3],\n",
       " ['陕西省', 3],\n",
       " ['陕西省', 2],\n",
       " ['陕西省', 2],\n",
       " ['陕西省', 2],\n",
       " ['陕西省', 1],\n",
       " ['陕西省', 66],\n",
       " ['甘肃省', 2],\n",
       " ['甘肃省', 3],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 2],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 2],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 1],\n",
       " ['甘肃省', 31],\n",
       " ['青海省', 1],\n",
       " ['青海省', 1],\n",
       " ['青海省', 10],\n",
       " ['宁夏回族自治区', 1],\n",
       " ['宁夏回族自治区', 1],\n",
       " ['宁夏回族自治区', 1],\n",
       " ['宁夏回族自治区', 16],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 3],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 3],\n",
       " ['新疆维吾尔自治区', 3],\n",
       " ['新疆维吾尔自治区', 2],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 1],\n",
       " ['新疆维吾尔自治区', 27]]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_mul = [[i['province_name'],len(j['universities'])] for i in data['schools'] for j in i['cities']]\n",
    "data_mul"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['北京市',\n",
       " '天津市',\n",
       " '河北省',\n",
       " '山西省',\n",
       " '内蒙古自治区',\n",
       " '辽宁省',\n",
       " '吉林省',\n",
       " '黑龙江省',\n",
       " '上海市',\n",
       " '江苏省',\n",
       " '浙江省',\n",
       " '安徽省',\n",
       " '福建省',\n",
       " '江西省',\n",
       " '山东省',\n",
       " '河南省',\n",
       " '湖北省',\n",
       " '湖南省',\n",
       " '广东省',\n",
       " '广西壮族自治区',\n",
       " '海南省',\n",
       " '重庆市',\n",
       " '四川省',\n",
       " '贵州省',\n",
       " '云南省',\n",
       " '西藏自治区',\n",
       " '陕西省',\n",
       " '甘肃省',\n",
       " '青海省',\n",
       " '宁夏回族自治区',\n",
       " '新疆维吾尔自治区']"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "province_name = [i['province_name'] for i in data['schools']]\n",
    "province_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sum_values(p):\n",
    "    total = 0\n",
    "    for ele in range(0, len([j[1] for i,j in enumerate(data_mul) if j[0]==p])):\n",
    "        total = total + [j[1] for i,j in enumerate(data_mul) if j[0]==p][ele]    \n",
    "    return(total)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['北京', 92],\n",
       " ['天津', 57],\n",
       " ['河北', 121],\n",
       " ['山西', 80],\n",
       " ['内蒙古自治', 53],\n",
       " ['辽宁', 115],\n",
       " ['吉林', 62],\n",
       " ['黑龙江', 81],\n",
       " ['上海', 64],\n",
       " ['江苏', 167],\n",
       " ['浙江', 107],\n",
       " ['安徽', 119],\n",
       " ['福建', 89],\n",
       " ['江西', 100],\n",
       " ['山东', 145],\n",
       " ['河南', 134],\n",
       " ['湖北', 129],\n",
       " ['湖南', 124],\n",
       " ['广东', 151],\n",
       " ['广西壮族自治', 74],\n",
       " ['海南', 19],\n",
       " ['重庆', 65],\n",
       " ['四川', 109],\n",
       " ['贵州', 70],\n",
       " ['云南', 77],\n",
       " ['西藏自治', 7],\n",
       " ['陕西', 93],\n",
       " ['甘肃', 49],\n",
       " ['青海', 12],\n",
       " ['宁夏回族自治', 19],\n",
       " ['新疆维吾尔自治', 47]]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[[p[:-1],sum_values(p)] for p in province_name]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"61e7dd7d2a764855a2c8e9bca6248dca\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_61e7dd7d2a764855a2c8e9bca6248dca = echarts.init(\n",
       "                    document.getElementById('61e7dd7d2a764855a2c8e9bca6248dca'), 'white', {renderer: 'canvas'});\n",
       "                var option_61e7dd7d2a764855a2c8e9bca6248dca = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"map\",\n",
       "            \"name\": \"\\u9ad8\\u6821\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"mapType\": \"china\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": 92\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": 57\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cb3\\u5317\",\n",
       "                    \"value\": 121\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u897f\",\n",
       "                    \"value\": 80\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5185\\u8499\\u53e4\\u81ea\\u6cbb\",\n",
       "                    \"value\": 53\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fbd\\u5b81\",\n",
       "                    \"value\": 115\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 62\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ed1\\u9f99\\u6c5f\",\n",
       "                    \"value\": 81\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": 64\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u82cf\",\n",
       "                    \"value\": 167\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d59\\u6c5f\",\n",
       "                    \"value\": 107\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u5fbd\",\n",
       "                    \"value\": 119\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u798f\\u5efa\",\n",
       "                    \"value\": 89\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u897f\",\n",
       "                    \"value\": 100\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u4e1c\",\n",
       "                    \"value\": 145\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cb3\\u5357\",\n",
       "                    \"value\": 134\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5317\",\n",
       "                    \"value\": 129\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5357\",\n",
       "                    \"value\": 124\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u4e1c\",\n",
       "                    \"value\": 151\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u897f\\u58ee\\u65cf\\u81ea\\u6cbb\",\n",
       "                    \"value\": 74\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d77\\u5357\",\n",
       "                    \"value\": 19\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": 65\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56db\\u5ddd\",\n",
       "                    \"value\": 109\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8d35\\u5dde\",\n",
       "                    \"value\": 70\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e91\\u5357\",\n",
       "                    \"value\": 77\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u897f\\u85cf\\u81ea\\u6cbb\",\n",
       "                    \"value\": 7\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9655\\u897f\",\n",
       "                    \"value\": 93\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7518\\u8083\",\n",
       "                    \"value\": 49\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9752\\u6d77\",\n",
       "                    \"value\": 12\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b81\\u590f\\u56de\\u65cf\\u81ea\\u6cbb\",\n",
       "                    \"value\": 19\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u7586\\u7ef4\\u543e\\u5c14\\u81ea\\u6cbb\",\n",
       "                    \"value\": 47\n",
       "                }\n",
       "            ],\n",
       "            \"roam\": true,\n",
       "            \"aspectScale\": 0.75,\n",
       "            \"nameProperty\": \"name\",\n",
       "            \"selectedMode\": false,\n",
       "            \"zoom\": 1,\n",
       "            \"mapValueCalculation\": \"sum\",\n",
       "            \"showLegendSymbol\": true,\n",
       "            \"emphasis\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u9ad8\\u6821\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u9ad8\\u6821\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"left\": 20,\n",
       "            \"top\": 100,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"Map-\\u9ad8\\u6821\\u5206\\u5e03\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"toolbox\": {\n",
       "        \"show\": true,\n",
       "        \"orient\": \"horizontal\",\n",
       "        \"itemSize\": 15,\n",
       "        \"itemGap\": 10,\n",
       "        \"left\": \"80%\",\n",
       "        \"right\": 20,\n",
       "        \"top\": 20,\n",
       "        \"feature\": {\n",
       "            \"saveAsImage\": {\n",
       "                \"type\": \"png\",\n",
       "                \"backgroundColor\": \"auto\",\n",
       "                \"connectedBackgroundColor\": \"#fff\",\n",
       "                \"show\": true,\n",
       "                \"title\": \"\\u4fdd\\u5b58\\u4e3a\\u56fe\\u7247\",\n",
       "                \"pixelRatio\": 1\n",
       "            },\n",
       "            \"restore\": {\n",
       "                \"show\": true,\n",
       "                \"title\": \"\\u8fd8\\u539f\"\n",
       "            },\n",
       "            \"dataView\": {\n",
       "                \"show\": true,\n",
       "                \"title\": \"\\u6570\\u636e\\u89c6\\u56fe\",\n",
       "                \"readOnly\": false,\n",
       "                \"lang\": [\n",
       "                    \"\\u6570\\u636e\\u89c6\\u56fe\",\n",
       "                    \"\\u5173\\u95ed\",\n",
       "                    \"\\u5237\\u65b0\"\n",
       "                ],\n",
       "                \"backgroundColor\": \"#fff\",\n",
       "                \"textareaColor\": \"#fff\",\n",
       "                \"textareaBorderColor\": \"#333\",\n",
       "                \"textColor\": \"#000\",\n",
       "                \"buttonColor\": \"#c23531\",\n",
       "                \"buttonTextColor\": \"#fff\"\n",
       "            },\n",
       "            \"dataZoom\": {\n",
       "                \"show\": true,\n",
       "                \"title\": {\n",
       "                    \"zoom\": \"\\u533a\\u57df\\u7f29\\u653e\",\n",
       "                    \"back\": \"\\u533a\\u57df\\u7f29\\u653e\\u8fd8\\u539f\"\n",
       "                },\n",
       "                \"icon\": {},\n",
       "                \"xAxisIndex\": false,\n",
       "                \"yAxisIndex\": false,\n",
       "                \"filterMode\": \"filter\"\n",
       "            },\n",
       "            \"magicType\": {\n",
       "                \"show\": true,\n",
       "                \"type\": [\n",
       "                    \"line\",\n",
       "                    \"bar\",\n",
       "                    \"stack\",\n",
       "                    \"tiled\"\n",
       "                ],\n",
       "                \"title\": {\n",
       "                    \"line\": \"\\u5207\\u6362\\u4e3a\\u6298\\u7ebf\\u56fe\",\n",
       "                    \"bar\": \"\\u5207\\u6362\\u4e3a\\u67f1\\u72b6\\u56fe\",\n",
       "                    \"stack\": \"\\u5207\\u6362\\u4e3a\\u5806\\u53e0\",\n",
       "                    \"tiled\": \"\\u5207\\u6362\\u4e3a\\u5e73\\u94fa\"\n",
       "                },\n",
       "                \"icon\": {}\n",
       "            },\n",
       "            \"brush\": {\n",
       "                \"icon\": {},\n",
       "                \"title\": {\n",
       "                    \"rect\": \"\\u77e9\\u5f62\\u9009\\u62e9\",\n",
       "                    \"polygon\": \"\\u5708\\u9009\",\n",
       "                    \"lineX\": \"\\u6a2a\\u5411\\u9009\\u62e9\",\n",
       "                    \"lineY\": \"\\u7eb5\\u5411\\u9009\\u62e9\",\n",
       "                    \"keep\": \"\\u4fdd\\u6301\\u9009\\u62e9\",\n",
       "                    \"clear\": \"\\u6e05\\u9664\\u9009\\u62e9\"\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    },\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"piecewise\",\n",
       "        \"min\": 0,\n",
       "        \"max\": 150,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 5,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 14,\n",
       "        \"borderWidth\": 0\n",
       "    }\n",
       "};\n",
       "                chart_61e7dd7d2a764855a2c8e9bca6248dca.setOption(option_61e7dd7d2a764855a2c8e9bca6248dca);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x29e0b89fc70>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Map\n",
    "from pyecharts.faker import Faker\n",
    "\n",
    "c = (\n",
    "    Map()\n",
    "    .add(\"高校\", [[p[:-1],sum_values(p)] for p in province_name], \"china\")\n",
    "    .set_global_opts(\n",
    "        title_opts=opts.TitleOpts(title=\"Map-高校分布\"),\n",
    "        visualmap_opts=opts.VisualMapOpts(\n",
    "            max_ = 150,\n",
    "            is_piecewise = True\n",
    "        ),\n",
    "        legend_opts=opts.LegendOpts(\n",
    "            pos_left = 20,\n",
    "            pos_top =100,\n",
    "        ),\n",
    "        toolbox_opts = opts.ToolboxOpts(\n",
    "            pos_right = 20,\n",
    "            pos_top=20\n",
    "        )\n",
    "    )\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 985高校分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>学校名称</th>\n",
       "      <th>地区</th>\n",
       "      <th>学校类型</th>\n",
       "      <th>一流学科建设名单</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>清华大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>综合</td>\n",
       "      <td>法学、政治学、马克思主义理论、数学、物理学、化学、生物学、力学、机械工程、仪器科学与技术、材...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>北京大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>综合</td>\n",
       "      <td>哲学、理论经济学、应用经济学、法学、政治学、社会学、马克思主义理论、心理学、中国语言文学、外...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>中国人民大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>综合</td>\n",
       "      <td>哲学、理论经济学、应用经济学、法学、政治学、社会学、马克思主义理论、新闻传播学、中国史、统计...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>北京理工大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>理工</td>\n",
       "      <td>材料科学与工程、控制科学与工程、兵器科学与技术</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>北京航空航天大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>理工</td>\n",
       "      <td>力学、仪器科学与技术、材料科学与工程、控制科学与工程、计算机科学与技术、航空宇航科学与技术、...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>北京师范大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>师范</td>\n",
       "      <td>教育学、心理学、中国语言文学、中国史、数学、地理学、系统科学、生态学、环境科学与工程、戏剧与...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>中国农业大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>农业</td>\n",
       "      <td>生物学、农业工程、食品科学与工程、作物学、农业资源与环境、植物保护、畜牧学、兽医学、草学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>天津大学</td>\n",
       "      <td>天津</td>\n",
       "      <td>理工</td>\n",
       "      <td>化学、材料科学与工程、化学工程与技术、管理科学与工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>南开大学</td>\n",
       "      <td>天津</td>\n",
       "      <td>综合</td>\n",
       "      <td>世界史、数学、化学、统计学、材料科学与工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>复旦大学</td>\n",
       "      <td>上海</td>\n",
       "      <td>综合</td>\n",
       "      <td>哲学、政治学、中国语言文学、中国史、数学、物理学、化学、生物学、生态学、材料科学与工程、环境...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>上海交通大学</td>\n",
       "      <td>上海</td>\n",
       "      <td>综合</td>\n",
       "      <td>数学、化学、生物学、机械工程、材料科学与工程、信息与通信工程、控制科学与工程、计算机科学与技...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>同济大学</td>\n",
       "      <td>上海</td>\n",
       "      <td>理工</td>\n",
       "      <td>建筑学、土木工程、测绘科学与技术、环境科学与工程、城乡规划学、风景园林学、艺术与设计</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>华东师范大学</td>\n",
       "      <td>上海</td>\n",
       "      <td>师范</td>\n",
       "      <td>教育学、生态学、统计学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>重庆大学</td>\n",
       "      <td>重庆</td>\n",
       "      <td>综合</td>\n",
       "      <td>机械工程(自定)、电气工程(自定)、土木工程(自定)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>四川大学</td>\n",
       "      <td>四川</td>\n",
       "      <td>综合</td>\n",
       "      <td>数学、化学、材料科学与工程、基础医学、口腔医学、护理学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>电子科技大学</td>\n",
       "      <td>四川</td>\n",
       "      <td>理工</td>\n",
       "      <td>电子科学与技术、信息与通信工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>湖南大学</td>\n",
       "      <td>湖南</td>\n",
       "      <td>综合</td>\n",
       "      <td>化学、机械工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>中南大学</td>\n",
       "      <td>湖南</td>\n",
       "      <td>综合</td>\n",
       "      <td>数学、材料科学与工程、冶金工程、矿业工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>厦门大学</td>\n",
       "      <td>福建</td>\n",
       "      <td>综合</td>\n",
       "      <td>化学、海洋科学、生物学、生态学、统计学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>中国科学技术大学</td>\n",
       "      <td>安徽</td>\n",
       "      <td>理工</td>\n",
       "      <td>数学、物理学、化学、天文学、地球物理学、生物学、科学技术史、材料科学与工程、计算机科学与技术...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>南京大学</td>\n",
       "      <td>江苏</td>\n",
       "      <td>综合</td>\n",
       "      <td>哲学、中国语言文学、外国语言文学、物理学、化学、天文学、大气科学、地质学、生物学、材料科学与...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>东南大学</td>\n",
       "      <td>江苏</td>\n",
       "      <td>综合</td>\n",
       "      <td>材料科学与工程、电子科学与技术、信息与通信工程、控制科学与工程、计算机科学与技术、建筑学、土...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>哈尔滨工业大学</td>\n",
       "      <td>黑龙江</td>\n",
       "      <td>理工</td>\n",
       "      <td>力学、机械工程、材料科学与工程、控制科学与工程、计算机科学与技术、土木工程、环境科学与工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>浙江大学</td>\n",
       "      <td>浙江</td>\n",
       "      <td>综合</td>\n",
       "      <td>化学、生物学、生态学、机械工程、光学工程、材料科学与工程、电气工程、控制科学与工程、计算机科...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>西安交通大学</td>\n",
       "      <td>陕西</td>\n",
       "      <td>综合</td>\n",
       "      <td>力学、机械工程、材料科学与工程、动力工程及工程热物理、电气工程、信息与通信工程、管理科学与工...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>西北农林科技大学</td>\n",
       "      <td>陕西</td>\n",
       "      <td>农业</td>\n",
       "      <td>农学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>西北工业大学</td>\n",
       "      <td>陕西</td>\n",
       "      <td>理工</td>\n",
       "      <td>机械工程、材料科学与工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>华中科技大学</td>\n",
       "      <td>湖北</td>\n",
       "      <td>综合</td>\n",
       "      <td>机械工程、光学工程、材料科学与工程、动力工程及工程热物理、电气工程、计算机科学与技术、基础医...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>武汉大学</td>\n",
       "      <td>湖北</td>\n",
       "      <td>综合</td>\n",
       "      <td>理论经济学、法学、马克思主义理论、化学、地球物理学、生物学、测绘科学与技术、矿业工程、口腔医...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>中国海洋大学</td>\n",
       "      <td>山东</td>\n",
       "      <td>综合</td>\n",
       "      <td>海洋科学、水产</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>山东大学</td>\n",
       "      <td>山东</td>\n",
       "      <td>综合</td>\n",
       "      <td>数学、化学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>吉林大学</td>\n",
       "      <td>吉林</td>\n",
       "      <td>综合</td>\n",
       "      <td>考古学、数学、物理学、化学、材料科学与工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>大连理工大学</td>\n",
       "      <td>辽宁</td>\n",
       "      <td>理工</td>\n",
       "      <td>化学、工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>东北大学</td>\n",
       "      <td>辽宁</td>\n",
       "      <td>理工</td>\n",
       "      <td>控制科学与工程</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>华南理工大学</td>\n",
       "      <td>广东</td>\n",
       "      <td>理工</td>\n",
       "      <td>化学、材料科学与工程、轻工技术与工程、农学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>中山大学</td>\n",
       "      <td>广东</td>\n",
       "      <td>综合</td>\n",
       "      <td>哲学、数学、化学、生物学、生态学、材料科学与工程、电子科学与技术、基础医学、临床医学、药学、...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>兰州大学</td>\n",
       "      <td>甘肃</td>\n",
       "      <td>综合</td>\n",
       "      <td>化学、大气科学、生态学、草学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>中央民族大学</td>\n",
       "      <td>北京</td>\n",
       "      <td>NaN</td>\n",
       "      <td>民族学</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>国防科技大学</td>\n",
       "      <td>湖南</td>\n",
       "      <td>NaN</td>\n",
       "      <td>信息与通信工程、计算机科学与技术、航空宇航科学与技术、软件工程、管理科学与工程</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        学校名称   地区 学校类型                                           一流学科建设名单\n",
       "0       清华大学   北京   综合  法学、政治学、马克思主义理论、数学、物理学、化学、生物学、力学、机械工程、仪器科学与技术、材...\n",
       "1       北京大学   北京   综合  哲学、理论经济学、应用经济学、法学、政治学、社会学、马克思主义理论、心理学、中国语言文学、外...\n",
       "2     中国人民大学   北京   综合  哲学、理论经济学、应用经济学、法学、政治学、社会学、马克思主义理论、新闻传播学、中国史、统计...\n",
       "3     北京理工大学   北京   理工                            材料科学与工程、控制科学与工程、兵器科学与技术\n",
       "4   北京航空航天大学   北京   理工  力学、仪器科学与技术、材料科学与工程、控制科学与工程、计算机科学与技术、航空宇航科学与技术、...\n",
       "5     北京师范大学   北京   师范  教育学、心理学、中国语言文学、中国史、数学、地理学、系统科学、生态学、环境科学与工程、戏剧与...\n",
       "6     中国农业大学   北京   农业       生物学、农业工程、食品科学与工程、作物学、农业资源与环境、植物保护、畜牧学、兽医学、草学\n",
       "7       天津大学   天津   理工                         化学、材料科学与工程、化学工程与技术、管理科学与工程\n",
       "8       南开大学   天津   综合                              世界史、数学、化学、统计学、材料科学与工程\n",
       "9       复旦大学   上海   综合  哲学、政治学、中国语言文学、中国史、数学、物理学、化学、生物学、生态学、材料科学与工程、环境...\n",
       "10    上海交通大学   上海   综合  数学、化学、生物学、机械工程、材料科学与工程、信息与通信工程、控制科学与工程、计算机科学与技...\n",
       "11      同济大学   上海   理工         建筑学、土木工程、测绘科学与技术、环境科学与工程、城乡规划学、风景园林学、艺术与设计\n",
       "12    华东师范大学   上海   师范                                        教育学、生态学、统计学\n",
       "13      重庆大学   重庆   综合                         机械工程(自定)、电气工程(自定)、土木工程(自定)\n",
       "14      四川大学   四川   综合                        数学、化学、材料科学与工程、基础医学、口腔医学、护理学\n",
       "15    电子科技大学   四川   理工                                    电子科学与技术、信息与通信工程\n",
       "16      湖南大学   湖南   综合                                            化学、机械工程\n",
       "17      中南大学   湖南   综合                               数学、材料科学与工程、冶金工程、矿业工程\n",
       "18      厦门大学   福建   综合                                化学、海洋科学、生物学、生态学、统计学\n",
       "19  中国科学技术大学   安徽   理工  数学、物理学、化学、天文学、地球物理学、生物学、科学技术史、材料科学与工程、计算机科学与技术...\n",
       "20      南京大学   江苏   综合  哲学、中国语言文学、外国语言文学、物理学、化学、天文学、大气科学、地质学、生物学、材料科学与...\n",
       "21      东南大学   江苏   综合  材料科学与工程、电子科学与技术、信息与通信工程、控制科学与工程、计算机科学与技术、建筑学、土...\n",
       "22   哈尔滨工业大学  黑龙江   理工      力学、机械工程、材料科学与工程、控制科学与工程、计算机科学与技术、土木工程、环境科学与工程\n",
       "23      浙江大学   浙江   综合  化学、生物学、生态学、机械工程、光学工程、材料科学与工程、电气工程、控制科学与工程、计算机科...\n",
       "24    西安交通大学   陕西   综合  力学、机械工程、材料科学与工程、动力工程及工程热物理、电气工程、信息与通信工程、管理科学与工...\n",
       "25  西北农林科技大学   陕西   农业                                                 农学\n",
       "26    西北工业大学   陕西   理工                                       机械工程、材料科学与工程\n",
       "27    华中科技大学   湖北   综合  机械工程、光学工程、材料科学与工程、动力工程及工程热物理、电气工程、计算机科学与技术、基础医...\n",
       "28      武汉大学   湖北   综合  理论经济学、法学、马克思主义理论、化学、地球物理学、生物学、测绘科学与技术、矿业工程、口腔医...\n",
       "29    中国海洋大学   山东   综合                                            海洋科学、水产\n",
       "30      山东大学   山东   综合                                              数学、化学\n",
       "31      吉林大学   吉林   综合                              考古学、数学、物理学、化学、材料科学与工程\n",
       "32    大连理工大学   辽宁   理工                                              化学、工程\n",
       "33      东北大学   辽宁   理工                                            控制科学与工程\n",
       "34    华南理工大学   广东   理工                              化学、材料科学与工程、轻工技术与工程、农学\n",
       "35      中山大学   广东   综合  哲学、数学、化学、生物学、生态学、材料科学与工程、电子科学与技术、基础医学、临床医学、药学、...\n",
       "36      兰州大学   甘肃   综合                                     化学、大气科学、生态学、草学\n",
       "37    中央民族大学   北京  NaN                                                民族学\n",
       "38    国防科技大学   湖南  NaN            信息与通信工程、计算机科学与技术、航空宇航科学与技术、软件工程、管理科学与工程"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "greatuni = pd.read_csv('985.csv')\n",
    "greatuni"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('北京', 8),\n",
       " ('上海', 4),\n",
       " ('陕西', 3),\n",
       " ('湖南', 3),\n",
       " ('江苏', 2),\n",
       " ('辽宁', 2),\n",
       " ('四川', 2),\n",
       " ('湖北', 2),\n",
       " ('天津', 2),\n",
       " ('广东', 2),\n",
       " ('山东', 2),\n",
       " ('甘肃', 1),\n",
       " ('福建', 1),\n",
       " ('重庆', 1),\n",
       " ('浙江', 1),\n",
       " ('吉林', 1),\n",
       " ('黑龙江', 1),\n",
       " ('安徽', 1)]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "各省份985高校数量 = [i for i in greatuni['地区'].value_counts().items()] # value_counts()用于提取重复字段并按数量从多到少排序，再转成列表包含元组的形式\n",
    "各省份985高校数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"577b9d784de44300aed3c41762a595bd\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_577b9d784de44300aed3c41762a595bd = echarts.init(\n",
       "                    document.getElementById('577b9d784de44300aed3c41762a595bd'), 'white', {renderer: 'canvas'});\n",
       "                var option_577b9d784de44300aed3c41762a595bd = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"map\",\n",
       "            \"name\": \"\\u5404\\u7701\\u4efd985\\u9ad8\\u6821\\u6570\\u91cf\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"mapType\": \"china\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": 8\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": 4\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9655\\u897f\",\n",
       "                    \"value\": 3\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5357\",\n",
       "                    \"value\": 3\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u82cf\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fbd\\u5b81\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56db\\u5ddd\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5317\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u4e1c\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u4e1c\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7518\\u8083\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u798f\\u5efa\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d59\\u6c5f\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ed1\\u9f99\\u6c5f\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u5fbd\",\n",
       "                    \"value\": 1\n",
       "                }\n",
       "            ],\n",
       "            \"roam\": true,\n",
       "            \"aspectScale\": 0.75,\n",
       "            \"nameProperty\": \"name\",\n",
       "            \"selectedMode\": false,\n",
       "            \"zoom\": 1,\n",
       "            \"mapValueCalculation\": \"sum\",\n",
       "            \"showLegendSymbol\": true,\n",
       "            \"emphasis\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u5404\\u7701\\u4efd985\\u9ad8\\u6821\\u6570\\u91cf\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"\\u5404\\u7701\\u4efd985\\u9ad8\\u6821\\u6570\\u91cf\": true\n",
       "            },\n",
       "            \"show\": false,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5168\\u56fd\\u9ad8\\u6821\\u5404\\u7701\\u4efd\\u5206\\u5e03\\u56fe\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"piecewise\",\n",
       "        \"min\": 0,\n",
       "        \"max\": 200,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 5,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 14,\n",
       "        \"borderWidth\": 0\n",
       "    }\n",
       "};\n",
       "                chart_577b9d784de44300aed3c41762a595bd.setOption(option_577b9d784de44300aed3c41762a595bd);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x22965f5b430>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Map\n",
    "from pyecharts.faker import Faker\n",
    "\n",
    "map_1 = (\n",
    "        Map() # 导入pyecharts.charts中的Map\n",
    "        .add(\"各省份985高校数量\", [list(i) for i in 各省份985高校数量], \"china\") # 可以指定各国家，省份\n",
    "        # 上语句中传入数据必须是列表内包含列表，所以需要将以上列表包含元组进行转换\n",
    "        .set_global_opts(\n",
    "            title_opts=opts.TitleOpts(title=\"全国高校各省份分布图\"),\n",
    "            legend_opts=opts.LegendOpts(is_show=False), # 是否显示图例\n",
    "            visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True), # is_piecewise=True表示使用分段显示（而不是手动拖拽范围）\n",
    "        )\n",
    "    )\n",
    "\n",
    "# map_1.render() # 将地图以html形式保存在工作目录下\n",
    "map_1.render_notebook()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>学校名称</th>\n",
       "      <th>学校类型</th>\n",
       "      <th>一流学科建设名单</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>地区</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>上海</th>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>北京</th>\n",
       "      <td>8</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>吉林</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>四川</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>天津</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>安徽</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>山东</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>广东</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>江苏</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>浙江</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>湖北</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>湖南</th>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>甘肃</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>福建</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>辽宁</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>重庆</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>陕西</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>黑龙江</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     学校名称  学校类型  一流学科建设名单\n",
       "地区                       \n",
       "上海      4     4         4\n",
       "北京      8     7         8\n",
       "吉林      1     1         1\n",
       "四川      2     2         2\n",
       "天津      2     2         2\n",
       "安徽      1     1         1\n",
       "山东      2     2         2\n",
       "广东      2     2         2\n",
       "江苏      2     2         2\n",
       "浙江      1     1         1\n",
       "湖北      2     2         2\n",
       "湖南      3     2         3\n",
       "甘肃      1     1         1\n",
       "福建      1     1         1\n",
       "辽宁      2     2         2\n",
       "重庆      1     1         1\n",
       "陕西      3     3         3\n",
       "黑龙江     1     1         1"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "group = greatuni.groupby(['地区']).count()\n",
    "group"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>地区</th>\n",
       "      <th>学校名称</th>\n",
       "      <th>学校类型</th>\n",
       "      <th>一流学科建设名单</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>上海</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>北京</td>\n",
       "      <td>8</td>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>吉林</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>四川</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>天津</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>安徽</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>山东</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>广东</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>江苏</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>浙江</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>湖北</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>湖南</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>甘肃</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>福建</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>辽宁</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>重庆</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>陕西</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>黑龙江</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     地区  学校名称  学校类型  一流学科建设名单\n",
       "0    上海     4     4         4\n",
       "1    北京     8     7         8\n",
       "2    吉林     1     1         1\n",
       "3    四川     2     2         2\n",
       "4    天津     2     2         2\n",
       "5    安徽     1     1         1\n",
       "6    山东     2     2         2\n",
       "7    广东     2     2         2\n",
       "8    江苏     2     2         2\n",
       "9    浙江     1     1         1\n",
       "10   湖北     2     2         2\n",
       "11   湖南     3     2         3\n",
       "12   甘肃     1     1         1\n",
       "13   福建     1     1         1\n",
       "14   辽宁     2     2         2\n",
       "15   重庆     1     1         1\n",
       "16   陕西     3     3         3\n",
       "17  黑龙江     1     1         1"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "group.reset_index(inplace=True)\n",
    "group"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      上海\n",
       "1      北京\n",
       "2      吉林\n",
       "3      四川\n",
       "4      天津\n",
       "5      安徽\n",
       "6      山东\n",
       "7      广东\n",
       "8      江苏\n",
       "9      浙江\n",
       "10     湖北\n",
       "11     湖南\n",
       "12     甘肃\n",
       "13     福建\n",
       "14     辽宁\n",
       "15     重庆\n",
       "16     陕西\n",
       "17    黑龙江\n",
       "Name: 地区, dtype: object"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "city = group['地区']\n",
    "city"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['上海',\n",
       " '北京',\n",
       " '吉林',\n",
       " '四川',\n",
       " '天津',\n",
       " '安徽',\n",
       " '山东',\n",
       " '广东',\n",
       " '江苏',\n",
       " '浙江',\n",
       " '湖北',\n",
       " '湖南',\n",
       " '甘肃',\n",
       " '福建',\n",
       " '辽宁',\n",
       " '重庆',\n",
       " '陕西',\n",
       " '黑龙江']"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cities=city.tolist()\n",
    "cities"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[4, 8, 1, 2, 2, 1, 2, 2, 2, 1, 2, 3, 1, 1, 2, 1, 3, 1]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "num = group['学校名称']\n",
    "sum = num.tolist()\n",
    "sum"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('上海', 4),\n",
       " ('北京', 8),\n",
       " ('吉林', 1),\n",
       " ('四川', 2),\n",
       " ('天津', 2),\n",
       " ('安徽', 1),\n",
       " ('山东', 2),\n",
       " ('广东', 2),\n",
       " ('江苏', 2),\n",
       " ('浙江', 1),\n",
       " ('湖北', 2),\n",
       " ('湖南', 3),\n",
       " ('甘肃', 1),\n",
       " ('福建', 1),\n",
       " ('辽宁', 2),\n",
       " ('重庆', 1),\n",
       " ('陕西', 3),\n",
       " ('黑龙江', 1)]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(zip(cities,sum))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'china':'https://assets.pyecharts.org/assets/maps/china'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"9b4fe9c488b64ddc90b9006b288284ce\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'china'], function(echarts) {\n",
       "                var chart_9b4fe9c488b64ddc90b9006b288284ce = echarts.init(\n",
       "                    document.getElementById('9b4fe9c488b64ddc90b9006b288284ce'), 'white', {renderer: 'canvas'});\n",
       "                var option_9b4fe9c488b64ddc90b9006b288284ce = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"map\",\n",
       "            \"name\": \"985\\u9ad8\\u6821\",\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"mapType\": \"china\",\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u6d77\",\n",
       "                    \"value\": 4\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\",\n",
       "                    \"value\": 8\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5409\\u6797\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u56db\\u5ddd\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5929\\u6d25\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b89\\u5fbd\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c71\\u4e1c\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e7f\\u4e1c\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6c5f\\u82cf\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d59\\u6c5f\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5317\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5357\",\n",
       "                    \"value\": 3\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7518\\u8083\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u798f\\u5efa\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fbd\\u5b81\",\n",
       "                    \"value\": 2\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91cd\\u5e86\",\n",
       "                    \"value\": 1\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9655\\u897f\",\n",
       "                    \"value\": 3\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ed1\\u9f99\\u6c5f\",\n",
       "                    \"value\": 1\n",
       "                }\n",
       "            ],\n",
       "            \"roam\": true,\n",
       "            \"aspectScale\": 0.75,\n",
       "            \"nameProperty\": \"name\",\n",
       "            \"selectedMode\": false,\n",
       "            \"zoom\": 1,\n",
       "            \"mapValueCalculation\": \"sum\",\n",
       "            \"showLegendSymbol\": true,\n",
       "            \"emphasis\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"985\\u9ad8\\u6821\"\n",
       "            ],\n",
       "            \"selected\": {\n",
       "                \"985\\u9ad8\\u6821\": true\n",
       "            },\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"985\\u9ad8\\u6821\\u5206\\u5e03\\u56fe\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ],\n",
       "    \"visualMap\": {\n",
       "        \"show\": true,\n",
       "        \"type\": \"continuous\",\n",
       "        \"min\": 0,\n",
       "        \"max\": 100,\n",
       "        \"inRange\": {\n",
       "            \"color\": [\n",
       "                \"#50a3ba\",\n",
       "                \"#eac763\",\n",
       "                \"#d94e5d\"\n",
       "            ]\n",
       "        },\n",
       "        \"calculable\": true,\n",
       "        \"inverse\": false,\n",
       "        \"splitNumber\": 5,\n",
       "        \"orient\": \"vertical\",\n",
       "        \"showLabel\": true,\n",
       "        \"itemWidth\": 20,\n",
       "        \"itemHeight\": 140,\n",
       "        \"borderWidth\": 0\n",
       "    }\n",
       "};\n",
       "                chart_9b4fe9c488b64ddc90b9006b288284ce.setOption(option_9b4fe9c488b64ddc90b9006b288284ce);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x2155512a580>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Map\n",
    "from pyecharts.faker import Faker\n",
    "\n",
    "c = (\n",
    "    Map()\n",
    "    .add(\"985高校\",list(zip(cities,sum)),\"china\")\n",
    "    .set_global_opts(\n",
    "        title_opts=opts.TitleOpts(title=\"985高校分布图\"),visualmap_opts=opts.VisualMapOpts()\n",
    "    )\n",
    ")\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 中国大学世界占比（排名前800）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>world_rank</th>\n",
       "      <th>university_name</th>\n",
       "      <th>country</th>\n",
       "      <th>teaching</th>\n",
       "      <th>international</th>\n",
       "      <th>research</th>\n",
       "      <th>citations</th>\n",
       "      <th>income</th>\n",
       "      <th>total_score</th>\n",
       "      <th>num_students</th>\n",
       "      <th>student_staff_ratio</th>\n",
       "      <th>international_students</th>\n",
       "      <th>female_male_ratio</th>\n",
       "      <th>year</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Harvard University</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>99.7</td>\n",
       "      <td>72.4</td>\n",
       "      <td>98.7</td>\n",
       "      <td>98.8</td>\n",
       "      <td>34.5</td>\n",
       "      <td>96.1</td>\n",
       "      <td>20,152</td>\n",
       "      <td>8.9</td>\n",
       "      <td>25%</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>California Institute of Technology</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>97.7</td>\n",
       "      <td>54.6</td>\n",
       "      <td>98.0</td>\n",
       "      <td>99.9</td>\n",
       "      <td>83.7</td>\n",
       "      <td>96.0</td>\n",
       "      <td>2,243</td>\n",
       "      <td>6.9</td>\n",
       "      <td>27%</td>\n",
       "      <td>33 : 67</td>\n",
       "      <td>2011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>Massachusetts Institute of Technology</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>97.8</td>\n",
       "      <td>82.3</td>\n",
       "      <td>91.4</td>\n",
       "      <td>99.9</td>\n",
       "      <td>87.5</td>\n",
       "      <td>95.6</td>\n",
       "      <td>11,074</td>\n",
       "      <td>9.0</td>\n",
       "      <td>33%</td>\n",
       "      <td>37 : 63</td>\n",
       "      <td>2011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>Stanford University</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>98.3</td>\n",
       "      <td>29.5</td>\n",
       "      <td>98.1</td>\n",
       "      <td>99.2</td>\n",
       "      <td>64.3</td>\n",
       "      <td>94.3</td>\n",
       "      <td>15,596</td>\n",
       "      <td>7.8</td>\n",
       "      <td>22%</td>\n",
       "      <td>42 : 58</td>\n",
       "      <td>2011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Princeton University</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>90.9</td>\n",
       "      <td>70.3</td>\n",
       "      <td>95.4</td>\n",
       "      <td>99.9</td>\n",
       "      <td>-</td>\n",
       "      <td>94.2</td>\n",
       "      <td>7,929</td>\n",
       "      <td>8.4</td>\n",
       "      <td>27%</td>\n",
       "      <td>45 : 55</td>\n",
       "      <td>2011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2598</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yeungnam University</td>\n",
       "      <td>South Korea</td>\n",
       "      <td>18.6</td>\n",
       "      <td>24.3</td>\n",
       "      <td>10.9</td>\n",
       "      <td>26.5</td>\n",
       "      <td>35.4</td>\n",
       "      <td>-</td>\n",
       "      <td>21,958</td>\n",
       "      <td>15.3</td>\n",
       "      <td>3%</td>\n",
       "      <td>48 : 52</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2599</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yıldız Technical University</td>\n",
       "      <td>Turkey</td>\n",
       "      <td>14.5</td>\n",
       "      <td>14.9</td>\n",
       "      <td>7.6</td>\n",
       "      <td>19.3</td>\n",
       "      <td>44.0</td>\n",
       "      <td>-</td>\n",
       "      <td>31,268</td>\n",
       "      <td>28.7</td>\n",
       "      <td>2%</td>\n",
       "      <td>36 : 64</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2600</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yokohama City University</td>\n",
       "      <td>Japan</td>\n",
       "      <td>24.0</td>\n",
       "      <td>16.1</td>\n",
       "      <td>10.2</td>\n",
       "      <td>36.4</td>\n",
       "      <td>37.9</td>\n",
       "      <td>-</td>\n",
       "      <td>4,122</td>\n",
       "      <td>3.7</td>\n",
       "      <td>3%</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2601</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yokohama National University</td>\n",
       "      <td>Japan</td>\n",
       "      <td>20.1</td>\n",
       "      <td>23.3</td>\n",
       "      <td>16.0</td>\n",
       "      <td>13.5</td>\n",
       "      <td>40.4</td>\n",
       "      <td>-</td>\n",
       "      <td>10,117</td>\n",
       "      <td>12.1</td>\n",
       "      <td>8%</td>\n",
       "      <td>28 : 72</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2602</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yuan Ze University</td>\n",
       "      <td>Taiwan</td>\n",
       "      <td>16.2</td>\n",
       "      <td>17.7</td>\n",
       "      <td>18.3</td>\n",
       "      <td>28.6</td>\n",
       "      <td>39.8</td>\n",
       "      <td>-</td>\n",
       "      <td>8,663</td>\n",
       "      <td>20.6</td>\n",
       "      <td>4%</td>\n",
       "      <td>43 : 57</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2603 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     world_rank                        university_name  \\\n",
       "0             1                     Harvard University   \n",
       "1             2     California Institute of Technology   \n",
       "2             3  Massachusetts Institute of Technology   \n",
       "3             4                    Stanford University   \n",
       "4             5                   Princeton University   \n",
       "...         ...                                    ...   \n",
       "2598    601-800                    Yeungnam University   \n",
       "2599    601-800            Yıldız Technical University   \n",
       "2600    601-800               Yokohama City University   \n",
       "2601    601-800           Yokohama National University   \n",
       "2602    601-800                     Yuan Ze University   \n",
       "\n",
       "                       country  teaching international  research  citations  \\\n",
       "0     United States of America      99.7          72.4      98.7       98.8   \n",
       "1     United States of America      97.7          54.6      98.0       99.9   \n",
       "2     United States of America      97.8          82.3      91.4       99.9   \n",
       "3     United States of America      98.3          29.5      98.1       99.2   \n",
       "4     United States of America      90.9          70.3      95.4       99.9   \n",
       "...                        ...       ...           ...       ...        ...   \n",
       "2598               South Korea      18.6          24.3      10.9       26.5   \n",
       "2599                    Turkey      14.5          14.9       7.6       19.3   \n",
       "2600                     Japan      24.0          16.1      10.2       36.4   \n",
       "2601                     Japan      20.1          23.3      16.0       13.5   \n",
       "2602                    Taiwan      16.2          17.7      18.3       28.6   \n",
       "\n",
       "     income total_score num_students  student_staff_ratio  \\\n",
       "0      34.5        96.1       20,152                  8.9   \n",
       "1      83.7        96.0        2,243                  6.9   \n",
       "2      87.5        95.6       11,074                  9.0   \n",
       "3      64.3        94.3       15,596                  7.8   \n",
       "4         -        94.2        7,929                  8.4   \n",
       "...     ...         ...          ...                  ...   \n",
       "2598   35.4           -       21,958                 15.3   \n",
       "2599   44.0           -       31,268                 28.7   \n",
       "2600   37.9           -        4,122                  3.7   \n",
       "2601   40.4           -       10,117                 12.1   \n",
       "2602   39.8           -        8,663                 20.6   \n",
       "\n",
       "     international_students female_male_ratio  year  \n",
       "0                       25%               NaN  2011  \n",
       "1                       27%           33 : 67  2011  \n",
       "2                       33%           37 : 63  2011  \n",
       "3                       22%           42 : 58  2011  \n",
       "4                       27%           45 : 55  2011  \n",
       "...                     ...               ...   ...  \n",
       "2598                     3%           48 : 52  2016  \n",
       "2599                     2%           36 : 64  2016  \n",
       "2600                     3%               NaN  2016  \n",
       "2601                     8%           28 : 72  2016  \n",
       "2602                     4%           43 : 57  2016  \n",
       "\n",
       "[2603 rows x 14 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "globaluni = pd.read_csv('全球大学排名.csv')\n",
    "globaluni"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>world_rank</th>\n",
       "      <th>university_name</th>\n",
       "      <th>country</th>\n",
       "      <th>teaching</th>\n",
       "      <th>international</th>\n",
       "      <th>research</th>\n",
       "      <th>citations</th>\n",
       "      <th>income</th>\n",
       "      <th>total_score</th>\n",
       "      <th>num_students</th>\n",
       "      <th>student_staff_ratio</th>\n",
       "      <th>international_students</th>\n",
       "      <th>female_male_ratio</th>\n",
       "      <th>year</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1803</th>\n",
       "      <td>1</td>\n",
       "      <td>California Institute of Technology</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>95.6</td>\n",
       "      <td>64.0</td>\n",
       "      <td>97.6</td>\n",
       "      <td>99.8</td>\n",
       "      <td>97.8</td>\n",
       "      <td>95.2</td>\n",
       "      <td>2,243</td>\n",
       "      <td>6.9</td>\n",
       "      <td>27%</td>\n",
       "      <td>33 : 67</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1804</th>\n",
       "      <td>2</td>\n",
       "      <td>University of Oxford</td>\n",
       "      <td>United Kingdom</td>\n",
       "      <td>86.5</td>\n",
       "      <td>94.4</td>\n",
       "      <td>98.9</td>\n",
       "      <td>98.8</td>\n",
       "      <td>73.1</td>\n",
       "      <td>94.2</td>\n",
       "      <td>19,919</td>\n",
       "      <td>11.6</td>\n",
       "      <td>34%</td>\n",
       "      <td>46 : 54</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1805</th>\n",
       "      <td>3</td>\n",
       "      <td>Stanford University</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>92.5</td>\n",
       "      <td>76.3</td>\n",
       "      <td>96.2</td>\n",
       "      <td>99.9</td>\n",
       "      <td>63.3</td>\n",
       "      <td>93.9</td>\n",
       "      <td>15,596</td>\n",
       "      <td>7.8</td>\n",
       "      <td>22%</td>\n",
       "      <td>42 : 58</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1806</th>\n",
       "      <td>4</td>\n",
       "      <td>University of Cambridge</td>\n",
       "      <td>United Kingdom</td>\n",
       "      <td>88.2</td>\n",
       "      <td>91.5</td>\n",
       "      <td>96.7</td>\n",
       "      <td>97.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>92.8</td>\n",
       "      <td>18,812</td>\n",
       "      <td>11.8</td>\n",
       "      <td>34%</td>\n",
       "      <td>46 : 54</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1807</th>\n",
       "      <td>5</td>\n",
       "      <td>Massachusetts Institute of Technology</td>\n",
       "      <td>United States of America</td>\n",
       "      <td>89.4</td>\n",
       "      <td>84.0</td>\n",
       "      <td>88.6</td>\n",
       "      <td>99.7</td>\n",
       "      <td>95.4</td>\n",
       "      <td>92.0</td>\n",
       "      <td>11,074</td>\n",
       "      <td>9.0</td>\n",
       "      <td>33%</td>\n",
       "      <td>37 : 63</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2598</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yeungnam University</td>\n",
       "      <td>South Korea</td>\n",
       "      <td>18.6</td>\n",
       "      <td>24.3</td>\n",
       "      <td>10.9</td>\n",
       "      <td>26.5</td>\n",
       "      <td>35.4</td>\n",
       "      <td>-</td>\n",
       "      <td>21,958</td>\n",
       "      <td>15.3</td>\n",
       "      <td>3%</td>\n",
       "      <td>48 : 52</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2599</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yıldız Technical University</td>\n",
       "      <td>Turkey</td>\n",
       "      <td>14.5</td>\n",
       "      <td>14.9</td>\n",
       "      <td>7.6</td>\n",
       "      <td>19.3</td>\n",
       "      <td>44.0</td>\n",
       "      <td>-</td>\n",
       "      <td>31,268</td>\n",
       "      <td>28.7</td>\n",
       "      <td>2%</td>\n",
       "      <td>36 : 64</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2600</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yokohama City University</td>\n",
       "      <td>Japan</td>\n",
       "      <td>24.0</td>\n",
       "      <td>16.1</td>\n",
       "      <td>10.2</td>\n",
       "      <td>36.4</td>\n",
       "      <td>37.9</td>\n",
       "      <td>-</td>\n",
       "      <td>4,122</td>\n",
       "      <td>3.7</td>\n",
       "      <td>3%</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2601</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yokohama National University</td>\n",
       "      <td>Japan</td>\n",
       "      <td>20.1</td>\n",
       "      <td>23.3</td>\n",
       "      <td>16.0</td>\n",
       "      <td>13.5</td>\n",
       "      <td>40.4</td>\n",
       "      <td>-</td>\n",
       "      <td>10,117</td>\n",
       "      <td>12.1</td>\n",
       "      <td>8%</td>\n",
       "      <td>28 : 72</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2602</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yuan Ze University</td>\n",
       "      <td>Taiwan</td>\n",
       "      <td>16.2</td>\n",
       "      <td>17.7</td>\n",
       "      <td>18.3</td>\n",
       "      <td>28.6</td>\n",
       "      <td>39.8</td>\n",
       "      <td>-</td>\n",
       "      <td>8,663</td>\n",
       "      <td>20.6</td>\n",
       "      <td>4%</td>\n",
       "      <td>43 : 57</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>800 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     world_rank                        university_name  \\\n",
       "1803          1     California Institute of Technology   \n",
       "1804          2                   University of Oxford   \n",
       "1805          3                    Stanford University   \n",
       "1806          4                University of Cambridge   \n",
       "1807          5  Massachusetts Institute of Technology   \n",
       "...         ...                                    ...   \n",
       "2598    601-800                    Yeungnam University   \n",
       "2599    601-800            Yıldız Technical University   \n",
       "2600    601-800               Yokohama City University   \n",
       "2601    601-800           Yokohama National University   \n",
       "2602    601-800                     Yuan Ze University   \n",
       "\n",
       "                       country  teaching international  research  citations  \\\n",
       "1803  United States of America      95.6          64.0      97.6       99.8   \n",
       "1804            United Kingdom      86.5          94.4      98.9       98.8   \n",
       "1805  United States of America      92.5          76.3      96.2       99.9   \n",
       "1806            United Kingdom      88.2          91.5      96.7       97.0   \n",
       "1807  United States of America      89.4          84.0      88.6       99.7   \n",
       "...                        ...       ...           ...       ...        ...   \n",
       "2598               South Korea      18.6          24.3      10.9       26.5   \n",
       "2599                    Turkey      14.5          14.9       7.6       19.3   \n",
       "2600                     Japan      24.0          16.1      10.2       36.4   \n",
       "2601                     Japan      20.1          23.3      16.0       13.5   \n",
       "2602                    Taiwan      16.2          17.7      18.3       28.6   \n",
       "\n",
       "     income total_score num_students  student_staff_ratio  \\\n",
       "1803   97.8        95.2        2,243                  6.9   \n",
       "1804   73.1        94.2       19,919                 11.6   \n",
       "1805   63.3        93.9       15,596                  7.8   \n",
       "1806   55.0        92.8       18,812                 11.8   \n",
       "1807   95.4        92.0       11,074                  9.0   \n",
       "...     ...         ...          ...                  ...   \n",
       "2598   35.4           -       21,958                 15.3   \n",
       "2599   44.0           -       31,268                 28.7   \n",
       "2600   37.9           -        4,122                  3.7   \n",
       "2601   40.4           -       10,117                 12.1   \n",
       "2602   39.8           -        8,663                 20.6   \n",
       "\n",
       "     international_students female_male_ratio  year  \n",
       "1803                    27%           33 : 67  2016  \n",
       "1804                    34%           46 : 54  2016  \n",
       "1805                    22%           42 : 58  2016  \n",
       "1806                    34%           46 : 54  2016  \n",
       "1807                    33%           37 : 63  2016  \n",
       "...                     ...               ...   ...  \n",
       "2598                     3%           48 : 52  2016  \n",
       "2599                     2%           36 : 64  2016  \n",
       "2600                     3%               NaN  2016  \n",
       "2601                     8%           28 : 72  2016  \n",
       "2602                     4%           43 : 57  2016  \n",
       "\n",
       "[800 rows x 14 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "global_2016 = globaluni[(globaluni['year']== 2016)]\n",
    "global_2016"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "800"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "global_counts=len(global_2016['university_name'])\n",
    "global_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>world_rank</th>\n",
       "      <th>university_name</th>\n",
       "      <th>country</th>\n",
       "      <th>teaching</th>\n",
       "      <th>international</th>\n",
       "      <th>research</th>\n",
       "      <th>citations</th>\n",
       "      <th>income</th>\n",
       "      <th>total_score</th>\n",
       "      <th>num_students</th>\n",
       "      <th>student_staff_ratio</th>\n",
       "      <th>international_students</th>\n",
       "      <th>female_male_ratio</th>\n",
       "      <th>year</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1844</th>\n",
       "      <td>42</td>\n",
       "      <td>Peking University</td>\n",
       "      <td>China</td>\n",
       "      <td>77.8</td>\n",
       "      <td>49.2</td>\n",
       "      <td>72.4</td>\n",
       "      <td>69.1</td>\n",
       "      <td>100.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>40,148</td>\n",
       "      <td>8.3</td>\n",
       "      <td>14%</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1847</th>\n",
       "      <td>=44</td>\n",
       "      <td>University of Hong Kong</td>\n",
       "      <td>Hong Kong</td>\n",
       "      <td>64.6</td>\n",
       "      <td>99.5</td>\n",
       "      <td>72.8</td>\n",
       "      <td>70.1</td>\n",
       "      <td>53.7</td>\n",
       "      <td>71.0</td>\n",
       "      <td>19,835</td>\n",
       "      <td>17.6</td>\n",
       "      <td>38%</td>\n",
       "      <td>53 : 47</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1849</th>\n",
       "      <td>=47</td>\n",
       "      <td>Tsinghua University</td>\n",
       "      <td>China</td>\n",
       "      <td>73.3</td>\n",
       "      <td>39.5</td>\n",
       "      <td>83.0</td>\n",
       "      <td>58.8</td>\n",
       "      <td>100.0</td>\n",
       "      <td>70.0</td>\n",
       "      <td>39,763</td>\n",
       "      <td>13.7</td>\n",
       "      <td>10%</td>\n",
       "      <td>32 : 68</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1861</th>\n",
       "      <td>59</td>\n",
       "      <td>Hong Kong University of Science and Technology</td>\n",
       "      <td>Hong Kong</td>\n",
       "      <td>49.4</td>\n",
       "      <td>80.5</td>\n",
       "      <td>66.1</td>\n",
       "      <td>82.6</td>\n",
       "      <td>68.1</td>\n",
       "      <td>67.2</td>\n",
       "      <td>11,385</td>\n",
       "      <td>23.8</td>\n",
       "      <td>36%</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1941</th>\n",
       "      <td>=138</td>\n",
       "      <td>Chinese University of Hong Kong</td>\n",
       "      <td>Hong Kong</td>\n",
       "      <td>41.5</td>\n",
       "      <td>81.1</td>\n",
       "      <td>48.5</td>\n",
       "      <td>68.4</td>\n",
       "      <td>37.5</td>\n",
       "      <td>54.5</td>\n",
       "      <td>17,916</td>\n",
       "      <td>10.2</td>\n",
       "      <td>22%</td>\n",
       "      <td>53 : 47</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2553</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Shantou University</td>\n",
       "      <td>China</td>\n",
       "      <td>17.6</td>\n",
       "      <td>30.7</td>\n",
       "      <td>9.1</td>\n",
       "      <td>28.3</td>\n",
       "      <td>30.7</td>\n",
       "      <td>-</td>\n",
       "      <td>9,593</td>\n",
       "      <td>13.5</td>\n",
       "      <td>0%</td>\n",
       "      <td>48 : 52</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2557</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Sichuan University</td>\n",
       "      <td>China</td>\n",
       "      <td>25.0</td>\n",
       "      <td>15.7</td>\n",
       "      <td>18.4</td>\n",
       "      <td>16.1</td>\n",
       "      <td>90.8</td>\n",
       "      <td>-</td>\n",
       "      <td>65,035</td>\n",
       "      <td>14.5</td>\n",
       "      <td>2%</td>\n",
       "      <td>48 : 52</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2570</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Taipei Medical University</td>\n",
       "      <td>Taiwan</td>\n",
       "      <td>25.7</td>\n",
       "      <td>26.5</td>\n",
       "      <td>21.7</td>\n",
       "      <td>19.0</td>\n",
       "      <td>42.2</td>\n",
       "      <td>-</td>\n",
       "      <td>6,001</td>\n",
       "      <td>11.1</td>\n",
       "      <td>6%</td>\n",
       "      <td>58 : 42</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2597</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Xidian University</td>\n",
       "      <td>China</td>\n",
       "      <td>17.9</td>\n",
       "      <td>12.8</td>\n",
       "      <td>12.1</td>\n",
       "      <td>8.9</td>\n",
       "      <td>83.7</td>\n",
       "      <td>-</td>\n",
       "      <td>31,618</td>\n",
       "      <td>16.4</td>\n",
       "      <td>2%</td>\n",
       "      <td>29 : 71</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2602</th>\n",
       "      <td>601-800</td>\n",
       "      <td>Yuan Ze University</td>\n",
       "      <td>Taiwan</td>\n",
       "      <td>16.2</td>\n",
       "      <td>17.7</td>\n",
       "      <td>18.3</td>\n",
       "      <td>28.6</td>\n",
       "      <td>39.8</td>\n",
       "      <td>-</td>\n",
       "      <td>8,663</td>\n",
       "      <td>20.6</td>\n",
       "      <td>4%</td>\n",
       "      <td>43 : 57</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>68 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     world_rank                                 university_name    country  \\\n",
       "1844         42                               Peking University      China   \n",
       "1847        =44                         University of Hong Kong  Hong Kong   \n",
       "1849        =47                             Tsinghua University      China   \n",
       "1861         59  Hong Kong University of Science and Technology  Hong Kong   \n",
       "1941       =138                 Chinese University of Hong Kong  Hong Kong   \n",
       "...         ...                                             ...        ...   \n",
       "2553    601-800                              Shantou University      China   \n",
       "2557    601-800                              Sichuan University      China   \n",
       "2570    601-800                       Taipei Medical University     Taiwan   \n",
       "2597    601-800                               Xidian University      China   \n",
       "2602    601-800                              Yuan Ze University     Taiwan   \n",
       "\n",
       "      teaching international  research  citations income total_score  \\\n",
       "1844      77.8          49.2      72.4       69.1  100.0        72.0   \n",
       "1847      64.6          99.5      72.8       70.1   53.7        71.0   \n",
       "1849      73.3          39.5      83.0       58.8  100.0        70.0   \n",
       "1861      49.4          80.5      66.1       82.6   68.1        67.2   \n",
       "1941      41.5          81.1      48.5       68.4   37.5        54.5   \n",
       "...        ...           ...       ...        ...    ...         ...   \n",
       "2553      17.6          30.7       9.1       28.3   30.7           -   \n",
       "2557      25.0          15.7      18.4       16.1   90.8           -   \n",
       "2570      25.7          26.5      21.7       19.0   42.2           -   \n",
       "2597      17.9          12.8      12.1        8.9   83.7           -   \n",
       "2602      16.2          17.7      18.3       28.6   39.8           -   \n",
       "\n",
       "     num_students  student_staff_ratio international_students  \\\n",
       "1844       40,148                  8.3                    14%   \n",
       "1847       19,835                 17.6                    38%   \n",
       "1849       39,763                 13.7                    10%   \n",
       "1861       11,385                 23.8                    36%   \n",
       "1941       17,916                 10.2                    22%   \n",
       "...           ...                  ...                    ...   \n",
       "2553        9,593                 13.5                     0%   \n",
       "2557       65,035                 14.5                     2%   \n",
       "2570        6,001                 11.1                     6%   \n",
       "2597       31,618                 16.4                     2%   \n",
       "2602        8,663                 20.6                     4%   \n",
       "\n",
       "     female_male_ratio  year  \n",
       "1844               NaN  2016  \n",
       "1847           53 : 47  2016  \n",
       "1849           32 : 68  2016  \n",
       "1861               NaN  2016  \n",
       "1941           53 : 47  2016  \n",
       "...                ...   ...  \n",
       "2553           48 : 52  2016  \n",
       "2557           48 : 52  2016  \n",
       "2570           58 : 42  2016  \n",
       "2597           29 : 71  2016  \n",
       "2602           43 : 57  2016  \n",
       "\n",
       "[68 rows x 14 columns]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "district = ['China','Hong Kong','Macau','Taiwan']\n",
    "China_2016=global_2016[global_2016.country.isin(district)]\n",
    "China_2016"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "68"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "China_counts = len(China_2016['university_name'])\n",
    "China_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "732"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "global_count = global_counts - China_counts\n",
    "global_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['中国大学', '全球大学']"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "label = ['中国大学','全球大学']\n",
    "label"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[68, 732]"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "count = [China_counts,global_count]\n",
    "count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAASgAAAD3CAYAAACuGMlXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd7wU1fnH8c/DBS5wKYqKgBUbiFHRWQXFgkZFgyU/S2zEDmiixlhiFETs7WeJJcpKbMEolp+aoLGhxF5m7BoLoqKooAJSLvXe5/fHmYVl2b2NvXdmZ5/363Vf3J2dnX122fvdc87MnBFVxRhj4qhV1AUYY0whFlDGmNiygDLGxJYFlDEmtiygjDGxZQEVQyLSWUQS/38jIhJ1Dc0lya+tJSX+j6A+InKniPyxiNvbKPx3TRE5LWv5XiJybp71HxSRfXIW3wwcXc/zDBGRV8LfNxORWXnW6SYik+v52aCO5/BFZFCdL3jVxywRkXYNWO9wIPv9eV1Ets26fbaInCEiQ0VkdB3b2U1EejSwtsEiclvOskkiskVDHt9Ip4Wv0ayGsg8oYFn4swoReUtE3hSRlwr8vCkib2atvznwhojsDCwGficix4V3jwTa5HmapcBSEWkdtpzaAQ8A7UWknYh0FJH24fY7i4iG6yzMqntpeHuVlwCsr6qDVHUQMBkYn3V7DaCijvdmfaB1oTtF5HYROT5n8ZKwnoJEZENgBJAdFouABTm1g3vP2hbYTlfgPmDdup4vy2Sge/g4ROQg4GdV/TRnuyeJyFciMkNEzs9a/msRmSYi/xWR7etZPhY4JfOFZZqm4IevjCylQECF9x0OfAcs0ayjWkWkEugB/COzTFU/E5FhwEaq+oqIDAV+FpH9cH9wl2U9vgL3BVEb/rsrLpgWZz3/6PC+G4CrgWr3NLpIRJaFjyX8N99rqAHWE5HJ4e2NgcVhXQCbFXjd2e4Qkeqs2wLcoapXkT+MlqlqTfgaNwE8VX0wZ52LgbNVdUnW+6BAq7A1sw+wI/ByuLyfiPwO+EhVJ4fbbgXcAcwFxmX1qLoD04Fdw+0fET7ffFa8X0+H67cFakXEB9oBHwGnAL8HtgQqgddE5GlgGjAO2B0XphOAlIh0y7dcVReLyDnARcBx9b7LJq+yCygRGQfsDfwQLtoQGCIiJ4a3ewJ/U9ULWPHHdy/QU0TWx4XEj7gP9KGEH3oRaYtrxbwf3l6lOwe8LSJbh4/dC7gK6A0MAC5V1XVEZBfgPVWdKyLbqerb4fZa48Ih80eWfQqAZm6Hf7gShkQFMD1sLSEiY4BvVHVcePsdVrRUCjlBVZ/Nev9asaLVlfc0BBGpAk7H/aHflHNfJS7A3woXbQ/cDmwKPBL+Xhm+RxntgCrCFn/YghwHzAauBB5Q1YVhd/Vh4H9UdQmAqt4vIo+xaivr65wg7aiq74nIDsCnqloNVIvIe8B6uMB6RlU/DB8zLQzT/vmWq+qnqvqmiGwiIpWquhjTaGUXULhv/StU9TYAEbkZ+CDr9hhWhEDGkbjWyGjgY1xLpw2uBZVtHu4Prg05La4MEZkDoKr/Dr+5vwNOUtXJIrJduO2DReQt4HoR+QQ3VnMccC5QISIfA+2BdcLfW+NaSpnfxwDjcQHyTVYLqgpYkNWCmhO+rgZT1dqc9+dGEbkK6AicGi57D9f12kZVc8fGNgH+m7W9N3EtpMnh+zAlfJ+y63pNVa/Jur0XMBW4BPgj8IqIXIsLxN+q6rc5z7k7cCPwXHj7N8CW4sYI7wrv3yys+3Ng5zB8WuO+PH4HnBTen/FV+Jj1CyzPdBs/BHrhPjemkcoxoHLDpyHrXAQMwn0Yq3Gtg09xQZCxFNgG8IA7cV0pxbVQfoHrTmwMbKKqmZbZIeH9F4jIEuA64AhVfQ1ARA4G/gL0UdU0kBaRZaraR0R2BS5R1UFhy+4lVe2TXbSqzgzrJlz/LuBd4DRVzTdm1RSnq+r4zA0RuQkXTAsKrL8mruWTzxAR+RHXJeuAa2ECDBORQ3CtuVdVdSIwMXy+24DdcKFzsKp+l2e7i3Hdt/8Nb+8ZLtsB1yWrCX9Q1Vki8hTwGK7bfL+q/hB2RbPrXsCKMbx8yzNmh6/ZNEE5BlQr4DwROSm8vSFwQNbtnsCt2Q9Q1fNheevqY2AP4FKyBpjD1tK08OcX4fr9cAPBFwAPqupXmfXDbsqZwAvAB8AZwEDgBRHZG+gGvAb0KhAmuYPbqwx2i0gHYDBwIi5Y9wb6Ac+KyMu47tCbYauIsGWVDl8DuBbWzVnjO5vhwuejPPUsV0c4AfwErJVV43bA+bhg94EJqnqviJyd9ZjbVXVUzmvbFvgtrmXTAdeK+VdWrTer6l2ZknBd6UwLr2vW8pVauSKyB65L11dVVdxe3kNxQZMdPO1xX2SFlmesHb5m0wTlGFBtqL+Ll723TUSkbWZMI/RvYAPg+6yVegEv4r5BMx/6DrhvzzWAE8I/ng64LsWBuGCqBh4F/qOqtSLyEi6segE31tHS6QDsmNWt65B9Zzge82T48wowTVWnAlPDcPw9LnB2EZEjVXUSbpD3jcyYVS4R+T6sN999Faz8h1rIVNx4TsZM3B6vdXBh/qPIqscQZY19VWVeD+7L5oysIMqsO4ZVWy3TCVtdwEF11DcA+Dire+7jWlr/h/uiyUjhxsy+KLA8Y6twHdME5RhQIygwuBu6OOt3wXXrHhCRzCDnXuG/leG6AqCqX4TrrniwO4boDFX9de6TiMhduKAb7R6umW/di3ED7XNwIZKXqj5BTijl3P817o8j8webvbetLa7ldIaItF/d7p6IHAhcAVyT577fABPDQWdUdWm4O34XVX1JVacD00Uk00K6GdgZ1/K4Olw2DBfoj6vqeeHOg8UicmkdZeX+H69B2LJlxQB8ZfiT7Qvcl8l9uP/bEeHregPYPGxpt8KF+xu49zXfckRkd+D9rC69aaSyC6isIMhoRdbxYDn3t8Ht7dkh37ZEZGMKvIcishau+5g3DFX1Z9whCMufP9ybdBFuoHVdYJSIjA3/iDN78goKWzEV2a29cDf4YbhWW746csMp0yrLZ+2c21sAR+FaGSep6qsicq2IdFfV70VkU9xgfU9WbnldCDwkIr9S1XmZUsN6Tg7rLtjFy9kjdqGInMrKerIi3MD9H32sqjeE2x4ebmeP8HY/Vvw/PYjrwj+J+395CLg37O4dhBts7wwcknmf8y0Xkc7A5cDBq7yLpsHKLqDyqKLAgYC49+fBrNZTrkoKH+w6Dtgctxu8LpVAZfiNvT1wLW5XeyfgLNyBnyeq6pO4bsuUOgKkNW5M6wRYfujDv4GRqvpj1nrtWLXlkKmlvi5eVdai+4HrwtoyxgLPhcFbC1yQ89yo6oywVXckbuD/Udy4z4ys1dqy4tiufLVmXsdFBbp42Y/plHXfnbhu5rzw9tHAybhxMMJDD0aEPytR1Y9xx2g1ZPmRwGhVnZG7vmk4ybMn3ITEHcG9KN/hAs3wXJ2BebnPJSIVmeN1mrjdDpnuVVw19TihMIBrVbXQgbamxFlAGWNiy87FM8bElgWUMSa2LKCMMbFlAWWMiS0LKGNMbFlAGWNiywLKGBNbFlDGmNiygDLGxJYFlDEmtiygjDGxZQFljIktCyhjTGxZQBljYssCyhgTWxZQxpjYsoAyxsSWBZQxJrYsoIwxsWUBZYyJLQsoY0xsWUAZY2LLAsoYE1sWUMaY2LJLn5exVEAl0BPoUeCnG+7y4m2BNrjPi+IuaV4LLAZ+BGYCP+T5dxrwue9R22IvyiSKXVm4TKQCugL9gO2yfnoDFc381NXAR8D72T++x4xmfl6TABZQCZUK2BrYD9gZF0YbRlvRKn4AXgaeBp7xPaZEXI+JIQuohEgFdAL2An4F7AusH21FjfYl8Ez4M8n3mBVtOSYOLKBKWCpgA+BwYAgwEDdOlAS1wBvABOB+3+P7iOsxEbGAKjGpgCrgEOBYYBDJ3xNbAzwP3AM85HssjLge04IsoEpEKqAfMAI4GugUcTlR+Rm4DxjnewRRF2OanwVUjKUCWgGHAmcC/SMuJ25eBC73PZ6MuhDTfCygYigMpsOBUUDfiMuJu7eAy4H/8z3sw5wwFlAxkgqoAI7ABVOfiMspNf8FrgLu9T2WRV2MKQ4LqBgIg+koXDBtEXE5pe4rYJTvMT7qQszqs4CKWCpgAHAr7ihvUzwvAqf5Hu9GXYhpOguoiKQC1gSuBIYBEnE5SVUD3IZrUc2JuhjTeBZQEUgFHAtcA6wTdS1l4gfgfOBvNpBeWiygWlAqoC+uO7db1LWUqdeBY3yPT6MuxDRM0o9Cjo1UwBnA21g4Rak/8FYq4PioCzENYy2oZhaONd0JHBR1LWYlE4ARvsfPURdiCrOAakapgJ2A+4nfVCfG+RI4yvd4NepCTH4WUM0gFSDA2bgjnG3W0nhbBlwMXGYzf8aPBVSRhTNX/h03L5MpHY8DR/ge86MuxKxgAVVEqYBNgCdwU+ma0vMecIDvMS3qQoxje/GKJBXQH3gVC6dStg3wRiogFXUhxrGAKoJUwP64SdW6RV2LWW3rApNTAYOjLsRYQK22VMBvgUeA9lHXYoqmCvhXKuCYqAspdxZQqyEV8AfgbmxPXRK1Ae5OBZwcdSHlzAbJmygMpxuirsM0OwWO8z3uibqQcmQB1QThyb53YrMQlIsa4Ejf48GoCyk3FlCNlAo4CHiY5r8ir4mXpcDBvsfEqAspJxZQjZAK2BN3nFNl1LWYSCwGhvgek6IupFxYQDVQKmAH4DmgY9S1mEhVA/v4Hi9HXUg5sIBqgFRAH+AlYK2oazGx8CPg2RHnzc8OM6hHKqAT8BgWTmaFtYFHUgHtoi4k6Syg6ncndqUVs6rtgXTURSSdBVQdUgFnAYdEXYeJrd+mAk6PuogkszGoAlIBu+IGxe0ocVOXZcAvfY8Xoi4kiSyg8kgFdMfNH9496lpMSZgJpHyPr6MuJGmsi5cjFdAaN1+1hZNpqG648/bszIIis4Ba1TnYlVdM4+0BjIi6iKSxLl6WVMDmuFkVbfexaYp5wC/s+KjisRZUKGyep7FwMk3XCbg96iKSxAJqhROBQVEXYUrePqmAE6MuIiksoFi+1+6aqOswiXFtKmC9om0tHaxdtG2VGAso5yZgjaiLMInRBbh1tbeSDvqRDp4EfNJBm9XeXgkq+4AKL3hwaNR1mMQ5IBWwV5MemQ42IR38A3gLGAxsBOXZbSzrvXipgArgA6BP1LWYRHoX2L7BVyxOB92AC3CHK+S2mL4BNmO4t7ioFcZcubegjsfCyTSfbYHf1rtWOuhEOrgI+Bw4lVXDCWB9yvA4q7JtQaUC2gOfQREHM41ZYSnukINLfI/v866RDtoCJwOjgHUasM3vgI0Y7i0tVpFxV84nwv4OCydTfAo8AIzyPabkXSMdtAKOAi4GejVi2z2AA3Fz4peFsgyoVEAH4E9R12ES51ngz75HUHCNdLAfcAWu+9cUJ1JGAVWWXbxUwNnYcU+meAJcMD1bcI100B+4ktU/GLgW1837ZjW3UxLKrgUVTtN6TtR1mESYAowEHvQ98n/Tp4PewOXAwUV6zlbAccClRdperJVdCyoVcAzucuXGNNX3uPGj232PZXnXSAc9gYtwe4qLfQ3FL4BNGe4l/o+37FpQwClRF2BK1lzgauAG32NB3jXSwRrAn4HTgfbNVEcv3PQuzzXT9mOjrAIqFbAtMCDqOkzJWQz8FbjM9/gp7xrpoB1wGnAesGYL1HQiZRBQZdXFSwXcijvuxJiGqAXGA6N9j6/yrpEOKnBjQmNwB1O2lEVAD4Z7c1rwOVtc2RxJHl7fbmjUdZiSMRHo53scW0c4/Rp4HxhHy4YTuHnLSurzLCKdsn7fuCGPKacu3tHYZctN/V4BzvU9Xiq4RjrYDXfIwE4tVVQBxwI3N+WBIjIa+FZVx2UtqwBm4S4Ykk8/YB1VXelIdhEZCsxW1cfzPM9Q3N/dWOBZERmOO6XnFREZqKpf1FVnOQVU2Z3HZBrlI+B83+Oxgmukg61xwfSrliqqHh7poBvDvZlNeOxiYEn2AlWtEZF3gT3D27UAIiKA4Ma8avJsa0MoeEL0w8ANQFvcGF0b4Czg0vrCCcokoFIBW+LS35hcXwMXAvf4Xt4/PkgHGwGX4FrhcRoWEWAv4B8NWlnkv8D08OaGwBIROQbXXZyvqvvigmYI8HsR2RD4GZgD3AMutMKWVqWqVofbqsDNx46ItAI64MbItgCewZ3z+lRWKRVAjYiMBAar6geFai6LgAIOiroAEzuzcKec3Ox7LMq7hpvJciTu0JTKliutUfahgQEFLFXVvQBE5Gzge1UdH44HZXcVHwf+DZwB+MBLuODK9EI2Bu4VkcwxYL2ABSJybni7EhgGVON2MowEajRnj5yIXEpOKy5XuQTUgVEXYGJjIfAX4CrfI/8esHRQBZwJnA10brnSmmTvRqzbsHmpYGvgWtzA/29wraM/Z+5U1c/JOlxHRCYB01T1+DzbOldELgN2FpEaoAroD9yuqvUOuyQ+oFIB3XBviClvy4A7gIt8j2/zruGm1R2GmzSuVC7c2pN0sBXDvQ8bsG5rEcmcL5jp4h2H6+LNzaykqu8Ce4WtrA+AX0P+E6BFpC+wAOgqIr1V9ZOs+1rhDmUaGd7eErfHczAwKewqamasK2/BDXhRpe4A4jVuYFrew8BI3+OTvPemAwEOx53ftmkL1lUsuwINCagTVPUNWKWL1w43XkR43wXAzrjWzr64btiY3I2JSCVwC64ruAhIi8h+WWNT2wM3ZHUFOwI9cV2+kbi/y3OA1wsVXA4BZd278vU8bpaBNwqukQ72xu2Z276limoGA4Hb6lspE06hVrhBdlR1Ee6CtQAVqnpJvseLyGQRaRUOlPcJn/OusMWFiPwVeEZEjlPVz1TVB3bJenw/4GRVbfDB0okOqHDWzKZNXG9K2TvAeb7HkwXXSAceLpiS8PkY2ITHdMTt+l8u7JJtIyKTCzymH66beBhuhoYRqrr8PVbVCSKyCNd921VVlx/gKiL74w4z8BtTZKJPdUkF7Ac8EXUdpsVMxY0f3VfH9CebAZcBhxG2IIph1oKfCb76L9tt2Ie1O658BbMZc3+ia1UX2lQ0a3ugB8O9/FMLN4KItFXVOvesiUgboL2qzi1wf5WqLshZ1hU3rvdxXWNOuRLdgsJODC4XM3HjR7f5Hvnn604H3YHRuEHwvJ/7W//zEBP8pwGYUz2f/r22YuzQkSutM3vBXI6+YxQz587G26gPY4eOZPaCuex/8x8ZsvVAznzwep478zYm+E9z96uPM/mssTz14ascs9P+xXu1+Q2kCDNt1hdO4TpLocD77O5fZaYHVZ2FO7SjUZIeUDtGXYBpVvNwu8Ov9T3m510jHXTGTe98Bm7Qt6BTdj+UU3Z3l0g87b6rOTZPqPz99Sc4esf9OLr/fhw1biT+lx+xYMlCrjvsjwzYZGtmV8/jrWkf887Xn3LSLgfx5pcfUlXZXLOurKQvCZwKOOkBtUPUBZhmsQR3btclvscPeddIB5W4C2OMBNZqzManz57JjHmzSG3cd5X71qrqwgfffs6c6nl8PXsGG3Rdl3U7u82/8OlbvPHFh4wechIPBM+wtGYZT3/0OqOGtMg1NzduiSdpaYnd/Z4K2IRGfjBN7ClwL9DH9zg9bzilg1akg2OBT4DraMJn4JbJDy5vSeXaZbN+fPXTd9z43P1s2b0XXau6uMJUmeA/w5pVnWhT0Zp9thzAxPdeYv01u3HgLWfy/CeNGhtuio2b+wmikNiAwlpPSfMk7iq9Q32P/CeZpoP9cXvw7sJdLrzRamtref4Tn0FbeHnvv2himtuOPo/R+w+jT/eNuPPlfwIgItxy1Llss97m/PPdFzh8h30Yc8Bw1ujQiSFbD+ThtyY1pZzGaNLrjbskB5SNPyXDG8Aevsd+vsc7eddIBzuTDl4E/oU7TaPJXpzyNv17/QJ3Av+qZlfP4/3pU6ipreH1Lz5ERLjqybu459WJAMypnscaHdy0R5/NnMam66xPZeu21Db/3vINwuvtJUriXlAWa0GVtk+AQ32P/r7H5LxrpIO+pINHgZfJOiBwdTz14Wvstvl2AHz07VRGPfrXle4/b9/jGD7+crqcMYhZ1T9z5A6DGb7rwfz99SfY7Zph1Ggt+/QdwNyF8+neeS369uhF+sVH2KtPs39ftsVd2DNREnscVCpgNrBGvSuauPkWd1rFHXVMf7IB7oopx1D8K6aUsl0Y7r0cdRHFlMi9eKmArlg4lZo5wFXAX3yPhXnXSAddcRclOBV3gqtZ2ca41mRiJDKggE2iLsA02CLgJuBK3ytwIF86aI87julP2BdPXRI3UG4BZaJSg7uA6oW+R/7LeKeD1sAJuBkve7ZcaSVr46gLKLakBtQGURdg6vQobvqTjwqukQ4OwZ0z17ulikqAlr6yTLNLakCtF3UBJq8XcVdMebXgGulgD9wsA3aYSOMlblwuqQFl3YF4eR83/ckqlyVaLh30wwXT4JYqKoHa1r9KaUlqQCXueJAS9RVuBoHxvldgPux00As3E8GRFHH6kzLVJuoCii2pAWV7eqL1I2786FbfY3HeNdJBN2AU7kohifvmj4gFVImwD3w0FgDXA9f4HnknM8ua//ssoBMUOK/ONEX+vaElLJFHkqcCpuKu1WVaxlLgdtz0J6s9q6MxGdaCMqtDgQeAUb7HlKiLMcljAWWa6lncFVPyXi/NmGJIakDF9TLVSRDggunZetc0ZjUldQxqIQk8aC0mZkGBK6aY1bHA95J3Lt3qSmoLKnG7W2Oka9QFJJR9ZvNI6oR1i6IuwJhGWlb/KuUnqQE1O+oCjGkkC6g8LKCMiYd5URcQR0kNqDlRF2BMI82IuoA4SmpAWQvKlBoLqDwsoIyJBztFKI+kBlRJd/GW/jQDXbY06jJMy7IWVB5JPQ7qp2JvcPH0L5h29anULphLh612pOew0Uw9/wi0poaK9lX0umICrdrkP8Nm6U8zmHruofQe9yIAPzx0K7OengBAzfw5VG3Vn/abbc1Pj9/NFmMnM/fVp1hr/2OK/RJMvFlA5ZHUFtTUYm9w+k3n0uOkC+g97kWWzvyGn/59L+sedSZb3PI0rdfqztxXnsz7uGVzZ/PlmGOpWbhg+bJ1Dj2F3unJ9E5PpmO/XVn7f4ZR/ek7rH3QSVR/+Cat2lcVu3wTfxZQeSQ1oD4u9gYXTfuUDn22B6D1mt1ou856dB6wNwDLZv9A667d8j5OWlWwyRUTqKjqvMp9S2ZOZ9msGVT1TYEqumwpc19/mi4D9yt2+Sb+bAwqjyQHVFHPF1tzz0P5Ln0Rc174F3NffZJOO/4SgPnvvUrNvNl03HpA3sdVdOxMRccuee/74cFbWOfQUwDoPGAffn5pIm26rc+UMw9knv98Mcs38fdp1AXEUSIDyvdYQJFnF+xx0ii6DNyPHx8dx1pDjqWiQ0eW/TyLr685jY1G39Ho7WltLfP85+noDQKg6z6H02P4GFp3WoMuA4cwe9LDxSzfxNt03yv+uGkSJDKgQkXv5rXfoh9Lvp/GukPPpHbpEqb++TDW+/0VVPZo/Eno899+kapf9EdkxXUCFk/7jMr1N0XaVoLmv8aASaR3oy4griygGmHG369h3aPPpFW7Dvz02N+o/vgtvrvjMj4ZPohZT09g4dSPmP7XUQ3a1tzXnqLjdrstv10zfy5t1upOu159+fGRNJ123KvY5Zv4ei/qAuIqkfNBAaQCfgfcEnUdxjTAkb7H/VEXEUdJbkF9EHUBxjSQdfEKaHRAiUgPEWnfHMXU8Zydsn7fuIEPexN3tRFj4mwRtgevoEYFlIhUAI8Ad+Qs7yQia4c/a2Qtf1ZERojI7gW2N1REhtRx38niRpGfFZFtRaQj8IqI1HtJKd9jIfBWI16eMVF4z/eoibqIuGrwqS4i0goYC9zlbsrFqjo6vDuFuxjjBsAdInIS0B7YOnyOViJynKrmHuG9IRS4JDY8DNyAu0LLabgpUc8CLlXVhl7s8SWgfwPXNSYKk6IuIM4aFFAisgFwK/Cyqt4WLjtPRJ4BrgQm4w6MTKnqwyLyT9wMgf9S1f1FpA2wLGyBVapqdbjpCsKJusIA7IBr8m4BPAN8BjyVVUoFUCMiI4HBqlrfONN/cKFmTFw9Vf8q5avegBKRXYG/4Q583FdEBmfd3RE4G9gE+NytLq2BC3HBldn+WcCD4e/3ikhmetNewAIROTe8XQkMA6qB8cBIoEZzdjWKyKXAkga8vv/ggjKpJ0Wb0jYPeCXqIuKs3sMMwjGgdsBiVa0VkX2BAao6RkQqVLVGRA4BLsAF1hhAgBrgemAU8GvgYFVdnLPtScA0VT2+wHNfBuwcbqsK1127XVVHNPQFpgJeDrdhTNz80/c4KOoi4qzeloWqqoh0Af4hIrXAWkAXEdkFl18Xht26n3BdvPG4Oy4CFgOnAzvmCae+wAKgq4j0VtVPsu5rhQvPkeHtLYFxwGBgUthVVNUGHW79LBZQJp7yT4FhlmvQgZphK6pCVZfltKAyQVIjIoOAnYDHcYPfBwDr4QJioaqOzdpeJe4/5wzcmFMa2C8zNiUiKdwAeaYr2BHoyYrdsa2Ac1T19fpqTwV4gF/vizSm5W3qe8WfGihJGjQ2E44BrXJZnEwLRkS2BU7FDWLPAY4E9gEeAm4EHhKRn1T1IRHpA9wG3KWq74aP/yvwTLin7zNV9YFdMs8jIv2Ak1X15Ma+QN8jSAV8iht4NyYuplg41a+he/EyexoUd2XZziIyALfrvzVwDHCWqn4Vrp8GDsHtsasVkaHh8qOBy4ERqrq8eauqE0RkEa77tmtmO+Fj9scdZrA6raD7cAP3xsTFY1EXUApW+1w8EanMHV8Kl28IVKvqj1nL2gDtVXVugW1VqeqCnGVdge7Axw0cc1pFKqA3zXDysDGrYTvf452oi4i7xJ4snCsVEADbR12HMcAHvsfWURdRCpJ8snCuf0RdgDGh8VEXUCrKKaDup/BpNca0lGXAPVEXUSrKJqB8j+mATfRtojbR9/gu6iJKRdDw1kMAAAWNSURBVNkEVOj6qAswZe/2qAsoJeUWUE8AH0VdhClbX2FHjzdKWQWU76HAdVHXYcrWVb5n46CNUVYBFRqPXSTRtLxvyZno0dSv7ALK91gM3BR1HabsXBN+9kwjlF1AhW4F5kddhCkbM3EnxJtGKsuA8j1m46ZvMaYlXO97VNe/mslVlgEVugw384IxzWkWdn3GJivbgPI9fgQuiboOk3jX+56bd980XtkGVOgm3IUZjGkOXwDXRl1EKSvrgPI9lgLnRF2HSaw/hNdnNE1UNtOt1CUV8Czwy6jrMIky0fc4IOoiSl1Zt6CynInNdGCKZyHuYiFmNVlAAb7He7irJhtTDFf6Hg29+rWpgwXUCn8Cvoy6CFPypgBXRV1EUlhAhXyP+cAJuAtDGNMUCpxsp7QUjwVUFt/jeeDmqOswJetq32NS1EUkiQXUqs7F5owyjfcaMCrqIpLGDjPIIxWwDfAGUBl1LaYkzMFdRurLqAtJGmtB5RHu1ftT1HWYkjHMwql5WEAV4HvciF2qytRvrO/xUNRFJJUFVN1OxI0tGJPPe8AZUReRZDYGVY9UwLq48agNo67FxMr3QH/fY1rUhSSZtaDq4XvMAPbHZuA0K1QDB1o4NT8LqAbwPd4HjsTO1zPuMzDU93gz6kLKgQVUA/keE7E9ewZ+73s8EnUR5cICqhF8j2uBy6Ouw0RmjO9xW9RFlBMbJG+CVMClwMio6zAt6mbf47Soiyg31oJqAt9jFDafeTm52sIpGhZQTeR7jAYuiroO0+xG+R7nRl1EubIu3mpKBVwIjIm6DlN0iptT3K5CHSELqCJIBfwZN3guUddiiqIGONH3uDvqQsqdBVSRpAIOBe4GOkRdi1ktS4CjfI+Hoy7EWEAVVSpgO+AxYIOoazFN8h1wmO/xctSFGMcGyYvI93gb2BE7wbgUvQRsb+EULxZQReZ7fA8MAv4ecSmm4W4E9gz/70yMWBevGaUCzsYNnreJuhaTVzUw3Pe4N+pCTH4WUM0sFZAC7gW2iLoWs5IpwCHh7KkmpqyL18x8Dx/YDrswaFzUAn8B+lk4xZ+1oFpQKmAwcDu2ly8qH+GOb7KdGCXCWlAtyPd4CtgKSEddS5lZClyKu/KKhVMJsRZURFIBOwHXAQOiriXhfFyrybpzJcgCKmKpgMOBK4GNIy4laWbgzpG83feoibgW00QWUDGQCqgE/gCcD3SJuJxSNx+4Fvhf37N55EudBVSMpALWxn3rD8eOnWqshcCtwFW+x8yoizHFYQEVQ6mAnsBpwAhgzYjLibuFuD2jV9iR4MljARVjqYAq4Hhc92+ziMuJm89wLaa7fI/ZURdjmocFVAlIBbQCDgTOAnaJuJwo1QITgVuAZ3wP+/AmnAVUiUkFbAUcARwObB5xOS3le+BOYKzv8VXUxZiWYwFVwsL5pzJhtVHE5RTbFOBR4BHgNd+zi6aWIwuohEgFDAB+A+yDO1q9FAWEoeR7fBh1MSZ6FlAJlApYF9gT2AMYCGxJ/OZLXwK8g5vc73XgBd/jm2hLMnFjAVUGUgFrADsBOwC9cVO/bAF0bqESaoAvcKedZALpbd9jcQs9vylRFlBlLBXQHRdUmdBaD3ckexdceGV+78TKJ5bXAotyfhbiTi+ZDnwT/kzFjSV96Xssa/5XZJLGAsrUKxUgQEdcN3GR77Ek4pJMmbCAMsbEls0HZYyJLQsoY0xsWUAZY2LLAsoYE1sWUMaY2LKAMsbElgWUMSa2LKCMMbFlAWWMiS0LKGNMbFlAGWNiywLKGBNbFlDGmNiygDLGxJYFlDEmtiygjDGxZQFljIktCyhjTGxZQBljYssCyhgTWxZQxpjYsoAyxsSWBZQxJrYsoIwxsWUBZYyJLQsoY0xsWUAZY2Lr/wHZe6mcS9HyTAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "y = np.array([China_counts,global_counts])\n",
    "\n",
    "plt.pie(y,\n",
    "        labels=['中国大学','全球大学'], # 设置饼图标签\n",
    "        colors=[\"#FF99CC\", \"#33CCFF\"], # 设置饼图颜色\n",
    "        explode=(0.2, 0), # 第二部分突出显示，值越大，距离中心越远\n",
    "        autopct='%.2f%%', # 格式化输出百分比\n",
    "       )\n",
    "plt.title(\"中国学校世界占比(排名前800)\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"e0be99b462d44dacb4d68f997c71af81\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts'], function(echarts) {\n",
       "                var chart_e0be99b462d44dacb4d68f997c71af81 = echarts.init(\n",
       "                    document.getElementById('e0be99b462d44dacb4d68f997c71af81'), 'white', {renderer: 'canvas'});\n",
       "                var option_e0be99b462d44dacb4d68f997c71af81 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"pie\",\n",
       "            \"clockwise\": true,\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u56fd\\u5927\\u5b66\",\n",
       "                    \"value\": 68\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5168\\u7403\\u5927\\u5b66\",\n",
       "                    \"value\": 732\n",
       "                }\n",
       "            ],\n",
       "            \"radius\": [\n",
       "                \"0%\",\n",
       "                \"75%\"\n",
       "            ],\n",
       "            \"center\": [\n",
       "                \"50%\",\n",
       "                \"50%\"\n",
       "            ],\n",
       "            \"label\": {\n",
       "                \"show\": true,\n",
       "                \"position\": \"top\",\n",
       "                \"margin\": 8\n",
       "            },\n",
       "            \"rippleEffect\": {\n",
       "                \"show\": true,\n",
       "                \"brushType\": \"stroke\",\n",
       "                \"scale\": 2.5,\n",
       "                \"period\": 4\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [\n",
       "                \"\\u4e2d\\u56fd\\u5927\\u5b66\",\n",
       "                \"\\u5168\\u7403\\u5927\\u5b66\"\n",
       "            ],\n",
       "            \"selected\": {}\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"showContent\": true,\n",
       "        \"alwaysShowContent\": false,\n",
       "        \"showDelay\": 0,\n",
       "        \"hideDelay\": 100,\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0,\n",
       "        \"padding\": 5\n",
       "    }\n",
       "};\n",
       "                chart_e0be99b462d44dacb4d68f997c71af81.setOption(option_e0be99b462d44dacb4d68f997c71af81);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x229664ce640>"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts.charts import Pie\n",
    "\n",
    "c = (\n",
    "    Pie()\n",
    "    .add(\"\", [list(i) for i in zip(label,count)])\n",
    "    .set_series_opts(label_opts = opts.LabelOpts(is_show=True))\n",
    ")\n",
    "                 \n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 历年教育经费"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 190,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>数据库：年度数据</th>\n",
       "      <th>Unnamed: 1</th>\n",
       "      <th>Unnamed: 2</th>\n",
       "      <th>Unnamed: 3</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "      <th>Unnamed: 7</th>\n",
       "      <th>Unnamed: 8</th>\n",
       "      <th>Unnamed: 9</th>\n",
       "      <th>Unnamed: 10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>时间：最近10年</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>指标</td>\n",
       "      <td>2021年</td>\n",
       "      <td>2020年</td>\n",
       "      <td>2019年</td>\n",
       "      <td>2018年</td>\n",
       "      <td>2017年</td>\n",
       "      <td>2016年</td>\n",
       "      <td>2015年</td>\n",
       "      <td>2014年</td>\n",
       "      <td>2013年</td>\n",
       "      <td>2012年</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>530338700</td>\n",
       "      <td>501781166</td>\n",
       "      <td>461429980</td>\n",
       "      <td>425620069</td>\n",
       "      <td>388883850</td>\n",
       "      <td>361291927</td>\n",
       "      <td>328064609</td>\n",
       "      <td>303647182</td>\n",
       "      <td>286553052</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>高等学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>普通高等学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>成人高等学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>中等职业学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>中等专业学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>职业高中教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>技工学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>成人中专学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>中学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>普通中学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>普通高中教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>普通初中教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>农村普通初中教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>成人中学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>小学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>普通小学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>农村普通小学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>成人小学教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>特殊教育学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>幼儿园教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>教育行政单位教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>教育事业单位教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>其它类别学校教育经费(万元)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>数据来源：国家统计局</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          数据库：年度数据 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5  \\\n",
       "0         时间：最近10年        NaN        NaN        NaN        NaN        NaN   \n",
       "1               指标      2021年      2020年      2019年      2018年      2017年   \n",
       "2         教育经费(万元)        NaN  530338700  501781166  461429980  425620069   \n",
       "3     高等学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "4   普通高等学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "5   成人高等学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "6   中等职业学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "7   中等专业学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "8     职业高中教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "9     技工学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "10  成人中专学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "11      中学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "12    普通中学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "13    普通高中教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "14    普通初中教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "15  农村普通初中教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "16    成人中学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "17      小学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "18    普通小学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "19  农村普通小学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "20    成人小学教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "21  特殊教育学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "22     幼儿园教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "23  教育行政单位教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "24  教育事业单位教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "25  其它类别学校教育经费(万元)        NaN        NaN        NaN        NaN        NaN   \n",
       "26      数据来源：国家统计局        NaN        NaN        NaN        NaN        NaN   \n",
       "\n",
       "   Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10  \n",
       "0         NaN        NaN        NaN        NaN         NaN  \n",
       "1       2016年      2015年      2014年      2013年       2012年  \n",
       "2   388883850  361291927  328064609  303647182   286553052  \n",
       "3         NaN        NaN        NaN        NaN         NaN  \n",
       "4         NaN        NaN        NaN        NaN         NaN  \n",
       "5         NaN        NaN        NaN        NaN         NaN  \n",
       "6         NaN        NaN        NaN        NaN         NaN  \n",
       "7         NaN        NaN        NaN        NaN         NaN  \n",
       "8         NaN        NaN        NaN        NaN         NaN  \n",
       "9         NaN        NaN        NaN        NaN         NaN  \n",
       "10        NaN        NaN        NaN        NaN         NaN  \n",
       "11        NaN        NaN        NaN        NaN         NaN  \n",
       "12        NaN        NaN        NaN        NaN         NaN  \n",
       "13        NaN        NaN        NaN        NaN         NaN  \n",
       "14        NaN        NaN        NaN        NaN         NaN  \n",
       "15        NaN        NaN        NaN        NaN         NaN  \n",
       "16        NaN        NaN        NaN        NaN         NaN  \n",
       "17        NaN        NaN        NaN        NaN         NaN  \n",
       "18        NaN        NaN        NaN        NaN         NaN  \n",
       "19        NaN        NaN        NaN        NaN         NaN  \n",
       "20        NaN        NaN        NaN        NaN         NaN  \n",
       "21        NaN        NaN        NaN        NaN         NaN  \n",
       "22        NaN        NaN        NaN        NaN         NaN  \n",
       "23        NaN        NaN        NaN        NaN         NaN  \n",
       "24        NaN        NaN        NaN        NaN         NaN  \n",
       "25        NaN        NaN        NaN        NaN         NaN  \n",
       "26        NaN        NaN        NaN        NaN         NaN  "
      ]
     },
     "execution_count": 190,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "edu_fund = pd.read_csv('edu经费.csv')\n",
    "edu_fund"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['2020年',\n",
       " '2019年',\n",
       " '2018年',\n",
       " '2017年',\n",
       " '2016年',\n",
       " '2015年',\n",
       " '2014年',\n",
       " '2013年',\n",
       " '2012年']"
      ]
     },
     "execution_count": 194,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "year = np.array(edu_fund.loc[[1]]).tolist()[0]\n",
    "del year[0:2]\n",
    "year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 196,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012]"
      ]
     },
     "execution_count": 196,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "year = [2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012]\n",
    "year = year\n",
    "year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 199,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[530338700,\n",
       " 501781166,\n",
       " 461429980,\n",
       " 425620069,\n",
       " 388883850,\n",
       " 361291927,\n",
       " 328064609,\n",
       " 303647182,\n",
       " 286553052]"
      ]
     },
     "execution_count": 199,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fund = np.array(edu_fund.loc[[2]]).tolist()[0]\n",
    "del fund[0:2]\n",
    "fund = [int(x) for x in fund]\n",
    "fund"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 200,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bokeh.models import ColumnDataSource,NumeralTickFormatter,SingleIntervalTicker\n",
    "source = ColumnDataSource(\n",
    "    data=dict(\n",
    "        years = year,\n",
    "        funds = fund,\n",
    "    )\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 201,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"d44962cb-3132-4bd1-b85c-15f4d93a36e6\" data-root-id=\"43334\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"5d3d6639-73a5-4666-b9c6-e7c3e7407a16\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"43345\"}],\"center\":[{\"id\":\"43348\"},{\"id\":\"43352\"},{\"id\":\"43382\"}],\"left\":[{\"id\":\"43349\"}],\"plot_height\":500,\"plot_width\":800,\"renderers\":[{\"id\":\"43372\"}],\"title\":{\"id\":\"43335\"},\"toolbar\":{\"id\":\"43361\"},\"x_range\":{\"id\":\"43337\"},\"x_scale\":{\"id\":\"43341\"},\"y_range\":{\"id\":\"43339\"},\"y_scale\":{\"id\":\"43343\"}},\"id\":\"43334\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"43378\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"43339\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"\\u5386\\u5e74\\u6559\\u80b2\\u7ecf\\u8d39\"},\"id\":\"43335\",\"type\":\"Title\"},{\"attributes\":{\"items\":[{\"id\":\"43383\"}],\"location\":\"top_left\"},\"id\":\"43382\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"43343\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"43333\"},\"glyph\":{\"id\":\"43370\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"funds\",\"nonselection_glyph\":{\"id\":\"43371\"},\"selection_glyph\":null,\"view\":{\"id\":\"43373\"}},\"id\":\"43372\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"43353\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"43341\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"43350\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"43346\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"43349\"},\"dimension\":1,\"ticker\":null},\"id\":\"43352\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"43376\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"43379\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"43345\"},\"ticker\":null},\"id\":\"43348\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"43357\",\"type\":\"ResetTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"43353\"},{\"id\":\"43354\"},{\"id\":\"43355\"},{\"id\":\"43356\"},{\"id\":\"43357\"},{\"id\":\"43358\"},{\"id\":\"43360\"}]},\"id\":\"43361\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"43356\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"43359\"}},\"id\":\"43355\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"navy\",\"line_width\":2,\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"funds\"}},\"id\":\"43371\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"\\u5e74\\u4efd\",\"formatter\":{\"id\":\"43376\"},\"ticker\":{\"id\":\"43346\"}},\"id\":\"43345\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":\"navy\",\"line_width\":2,\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"funds\"}},\"id\":\"43370\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"43380\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"43337\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"funds\":[530338700,501781166,461429980,425620069,388883850,361291927,328064609,303647182,286553052],\"years\":[2020,2019,2018,2017,2016,2015,2014,2013,2012]},\"selected\":{\"id\":\"43379\"},\"selection_policy\":{\"id\":\"43380\"}},\"id\":\"43333\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"\\u6559\\u80b2\\u7ecf\\u8d39\"},\"renderers\":[{\"id\":\"43372\"}]},\"id\":\"43383\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis_label\":\"\\u6559\\u80b2\\u7ecf\\u8d39\\uff08\\u5143\\uff09\",\"formatter\":{\"id\":\"43378\"},\"ticker\":{\"id\":\"43350\"}},\"id\":\"43349\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"\\u6559\\u80b2\\u7ecf\\u8d39\",\"@$name\"]]},\"id\":\"43360\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"43358\",\"type\":\"HelpTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"43359\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"43354\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"43333\"}},\"id\":\"43373\",\"type\":\"CDSView\"}],\"root_ids\":[\"43334\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"5d3d6639-73a5-4666-b9c6-e7c3e7407a16\",\"root_ids\":[\"43334\"],\"roots\":{\"43334\":\"d44962cb-3132-4bd1-b85c-15f4d93a36e6\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "43334"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "p = figure(plot_width=800,plot_height=500,title='历年教育经费',tooltips=[('教育经费','@$name')])\n",
    "\n",
    "p.xaxis.axis_label = '年份'\n",
    "p.yaxis.axis_label = '教育经费（元）'\n",
    "\n",
    "p.line('years','funds',color=\"navy\",line_width=2,source=source,name='funds',legend_label='教育经费')\n",
    "\n",
    "p.legend.location = 'top_left'\n",
    "\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 历年各类学校数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 203,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>数据库：年度数据</th>\n",
       "      <th>Unnamed: 1</th>\n",
       "      <th>Unnamed: 2</th>\n",
       "      <th>Unnamed: 3</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "      <th>Unnamed: 7</th>\n",
       "      <th>Unnamed: 8</th>\n",
       "      <th>Unnamed: 9</th>\n",
       "      <th>Unnamed: 10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>时间：最近10年</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>指标</td>\n",
       "      <td>2021年</td>\n",
       "      <td>2020年</td>\n",
       "      <td>2019年</td>\n",
       "      <td>2018年</td>\n",
       "      <td>2017年</td>\n",
       "      <td>2016年</td>\n",
       "      <td>2015年</td>\n",
       "      <td>2014年</td>\n",
       "      <td>2013年</td>\n",
       "      <td>2012年</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>普通高等学校数(所)</td>\n",
       "      <td>2756</td>\n",
       "      <td>2738</td>\n",
       "      <td>2688</td>\n",
       "      <td>2663</td>\n",
       "      <td>2631</td>\n",
       "      <td>2596</td>\n",
       "      <td>2560</td>\n",
       "      <td>2529</td>\n",
       "      <td>2491</td>\n",
       "      <td>2442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>普通高中学校数(所)</td>\n",
       "      <td>14585</td>\n",
       "      <td>14235</td>\n",
       "      <td>13964</td>\n",
       "      <td>13737</td>\n",
       "      <td>13555</td>\n",
       "      <td>13383</td>\n",
       "      <td>13240</td>\n",
       "      <td>13253</td>\n",
       "      <td>13352</td>\n",
       "      <td>13509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>初中学校数(所)</td>\n",
       "      <td>52871</td>\n",
       "      <td>52805</td>\n",
       "      <td>52415</td>\n",
       "      <td>51982</td>\n",
       "      <td>51894</td>\n",
       "      <td>52118</td>\n",
       "      <td>52405</td>\n",
       "      <td>52623</td>\n",
       "      <td>52804</td>\n",
       "      <td>53216</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>普通小学学校数(所)</td>\n",
       "      <td>154279</td>\n",
       "      <td>157979</td>\n",
       "      <td>160148</td>\n",
       "      <td>161811</td>\n",
       "      <td>167009</td>\n",
       "      <td>177633</td>\n",
       "      <td>190525</td>\n",
       "      <td>201377</td>\n",
       "      <td>213529</td>\n",
       "      <td>228585</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>特殊教育学校学校数(所)</td>\n",
       "      <td>2288</td>\n",
       "      <td>2244</td>\n",
       "      <td>2192</td>\n",
       "      <td>2152</td>\n",
       "      <td>2107</td>\n",
       "      <td>2080</td>\n",
       "      <td>2053</td>\n",
       "      <td>2000</td>\n",
       "      <td>1933</td>\n",
       "      <td>1853</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>学前教育学校数(所)</td>\n",
       "      <td>294832</td>\n",
       "      <td>291715</td>\n",
       "      <td>281174</td>\n",
       "      <td>266677</td>\n",
       "      <td>254950</td>\n",
       "      <td>239812</td>\n",
       "      <td>223683</td>\n",
       "      <td>209881</td>\n",
       "      <td>198553</td>\n",
       "      <td>181251</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>数据来源：国家统计局</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       数据库：年度数据 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5  \\\n",
       "0      时间：最近10年        NaN        NaN        NaN        NaN        NaN   \n",
       "1            指标      2021年      2020年      2019年      2018年      2017年   \n",
       "2    普通高等学校数(所)       2756       2738       2688       2663       2631   \n",
       "3    普通高中学校数(所)      14585      14235      13964      13737      13555   \n",
       "4      初中学校数(所)      52871      52805      52415      51982      51894   \n",
       "5    普通小学学校数(所)     154279     157979     160148     161811     167009   \n",
       "6  特殊教育学校学校数(所)       2288       2244       2192       2152       2107   \n",
       "7    学前教育学校数(所)     294832     291715     281174     266677     254950   \n",
       "8    数据来源：国家统计局        NaN        NaN        NaN        NaN        NaN   \n",
       "\n",
       "  Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10  \n",
       "0        NaN        NaN        NaN        NaN         NaN  \n",
       "1      2016年      2015年      2014年      2013年       2012年  \n",
       "2       2596       2560       2529       2491        2442  \n",
       "3      13383      13240      13253      13352       13509  \n",
       "4      52118      52405      52623      52804       53216  \n",
       "5     177633     190525     201377     213529      228585  \n",
       "6       2080       2053       2000       1933        1853  \n",
       "7     239812     223683     209881     198553      181251  \n",
       "8        NaN        NaN        NaN        NaN         NaN  "
      ]
     },
     "execution_count": 203,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "school = pd.read_csv('学校数量.csv')\n",
    "school"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 204,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['2021年',\n",
       " '2020年',\n",
       " '2019年',\n",
       " '2018年',\n",
       " '2017年',\n",
       " '2016年',\n",
       " '2015年',\n",
       " '2014年',\n",
       " '2013年',\n",
       " '2012年']"
      ]
     },
     "execution_count": 204,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "year = np.array(school.loc[[1]]).tolist()[0]\n",
    "del year[0]\n",
    "year"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高校"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 206,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2756, 2738, 2688, 2663, 2631, 2596, 2560, 2529, 2491, 2442]"
      ]
     },
     "execution_count": 206,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "university = np.array(school.loc[[2]]).tolist()[0]\n",
    "del university[0]\n",
    "universities = [int(x) for x in university]\n",
    "universities"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 210,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"b20a58c4-b7f4-4446-a290-042bd0d90245\" data-root-id=\"46201\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"9b6d6842-91f3-45fa-b3a0-aa01192099ce\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"46212\"}],\"center\":[{\"id\":\"46214\"},{\"id\":\"46218\"}],\"left\":[{\"id\":\"46215\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"46238\"}],\"title\":{\"id\":\"46202\"},\"toolbar\":{\"id\":\"46227\"},\"x_range\":{\"id\":\"46204\"},\"x_scale\":{\"id\":\"46208\"},\"y_range\":{\"id\":\"46206\"},\"y_scale\":{\"id\":\"46210\"}},\"id\":\"46201\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"46225\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"46208\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"fill_color\":{\"value\":\"#66CC33\"},\"line_color\":{\"value\":\"#66CC33\"},\"top\":{\"field\":\"universities\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"46236\",\"type\":\"VBar\"},{\"attributes\":{\"start\":0},\"id\":\"46206\",\"type\":\"DataRange1d\"},{\"attributes\":{\"factors\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\",\"2018\\u5e74\",\"2017\\u5e74\",\"2016\\u5e74\",\"2015\\u5e74\",\"2014\\u5e74\",\"2013\\u5e74\",\"2012\\u5e74\"]},\"id\":\"46204\",\"type\":\"FactorRange\"},{\"attributes\":{\"formatter\":{\"id\":\"47116\"},\"ticker\":{\"id\":\"46216\"}},\"id\":\"46215\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"46213\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#66CC33\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#66CC33\"},\"top\":{\"field\":\"universities\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"46237\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"47116\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"46222\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"46220\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"46219\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"46200\"},\"glyph\":{\"id\":\"46236\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"46237\"},\"selection_glyph\":null,\"view\":{\"id\":\"46239\"}},\"id\":\"46238\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"46212\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"46214\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"\\u666e\\u901a\\u9ad8\\u6821\\u6570\\u91cf\"},\"id\":\"46202\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"46200\"}},\"id\":\"46239\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"47118\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"count\",\"@universities\"]]},\"id\":\"46226\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"46215\"},\"dimension\":1,\"ticker\":null},\"id\":\"46218\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"universities\":[2756,2738,2688,2663,2631,2596,2560,2529,2491,2442],\"x\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\",\"2018\\u5e74\",\"2017\\u5e74\",\"2016\\u5e74\",\"2015\\u5e74\",\"2014\\u5e74\",\"2013\\u5e74\",\"2012\\u5e74\"]},\"selected\":{\"id\":\"47117\"},\"selection_policy\":{\"id\":\"47118\"}},\"id\":\"46200\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"46225\"}},\"id\":\"46221\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"46223\",\"type\":\"ResetTool\"},{\"attributes\":{\"formatter\":{\"id\":\"47114\"},\"ticker\":{\"id\":\"46213\"}},\"id\":\"46212\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"46216\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"47114\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"46210\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"46224\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"47117\",\"type\":\"Selection\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"46219\"},{\"id\":\"46220\"},{\"id\":\"46221\"},{\"id\":\"46222\"},{\"id\":\"46223\"},{\"id\":\"46224\"},{\"id\":\"46226\"}]},\"id\":\"46227\",\"type\":\"Toolbar\"}],\"root_ids\":[\"46201\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"9b6d6842-91f3-45fa-b3a0-aa01192099ce\",\"root_ids\":[\"46201\"],\"roots\":{\"46201\":\"b20a58c4-b7f4-4446-a290-042bd0d90245\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "46201"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "#数据准备\n",
    "years = year\n",
    "universities = universities\n",
    "\n",
    "source = ColumnDataSource(\n",
    "    data = dict(\n",
    "        x=years,\n",
    "        universities = universities\n",
    "    )\n",
    ")\n",
    "\n",
    "TOOLTIPS = [\n",
    "    (\"count\",\"@universities\")\n",
    "]\n",
    "\n",
    "p = figure(\n",
    "    x_range=years,\n",
    "    plot_height=350,\n",
    "    title = \"普通高校数量\",\n",
    "    tooltips = TOOLTIPS\n",
    ")\n",
    "p.vbar(x=\"x\",top=\"universities\",width=0.8,source=source,color=\"#66CC33\")\n",
    "\n",
    "p.xgrid.grid_line_color = None\n",
    "p.y_range.start = 0\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 208,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[14585, 14235, 13964, 13737, 13555, 13383, 13240, 13253, 13352, 13509]"
      ]
     },
     "execution_count": 208,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "highschool = np.array(school.loc[[3]]).tolist()[0]\n",
    "del highschool[0]\n",
    "highschool = [int(x) for x in highschool]\n",
    "highschool"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 209,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"6ac12e4e-ba18-4e8c-8a0a-2206ad8902e9\" data-root-id=\"45241\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"7c0bc795-518f-4e81-bdae-ca864195c32f\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"45252\"}],\"center\":[{\"id\":\"45254\"},{\"id\":\"45258\"}],\"left\":[{\"id\":\"45255\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"45278\"}],\"title\":{\"id\":\"45242\"},\"toolbar\":{\"id\":\"45267\"},\"x_range\":{\"id\":\"45244\"},\"x_scale\":{\"id\":\"45248\"},\"y_range\":{\"id\":\"45246\"},\"y_scale\":{\"id\":\"45250\"}},\"id\":\"45241\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"45264\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"46150\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"45263\",\"type\":\"ResetTool\"},{\"attributes\":{\"data\":{\"highschool\":[14585,14235,13964,13737,13555,13383,13240,13253,13352,13509],\"x\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\",\"2018\\u5e74\",\"2017\\u5e74\",\"2016\\u5e74\",\"2015\\u5e74\",\"2014\\u5e74\",\"2013\\u5e74\",\"2012\\u5e74\"]},\"selected\":{\"id\":\"46149\"},\"selection_policy\":{\"id\":\"46150\"}},\"id\":\"45240\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"46149\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"45256\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"45248\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"source\":{\"id\":\"45240\"}},\"id\":\"45279\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"45250\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"46146\"},\"ticker\":{\"id\":\"45253\"}},\"id\":\"45252\",\"type\":\"CategoricalAxis\"},{\"attributes\":{},\"id\":\"46148\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#669999\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#669999\"},\"top\":{\"field\":\"highschool\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"45277\",\"type\":\"VBar\"},{\"attributes\":{\"axis\":{\"id\":\"45252\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"45254\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"45253\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"45265\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"value\":\"#669999\"},\"line_color\":{\"value\":\"#669999\"},\"top\":{\"field\":\"highschool\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"45276\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"45259\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"45260\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"45265\"}},\"id\":\"45261\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"46146\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"start\":0},\"id\":\"45246\",\"type\":\"DataRange1d\"},{\"attributes\":{\"factors\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\",\"2018\\u5e74\",\"2017\\u5e74\",\"2016\\u5e74\",\"2015\\u5e74\",\"2014\\u5e74\",\"2013\\u5e74\",\"2012\\u5e74\"]},\"id\":\"45244\",\"type\":\"FactorRange\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"45259\"},{\"id\":\"45260\"},{\"id\":\"45261\"},{\"id\":\"45262\"},{\"id\":\"45263\"},{\"id\":\"45264\"},{\"id\":\"45266\"}]},\"id\":\"45267\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"45262\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis\":{\"id\":\"45255\"},\"dimension\":1,\"ticker\":null},\"id\":\"45258\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"\\u666e\\u901a\\u9ad8\\u4e2d\\u6570\\u91cf\"},\"id\":\"45242\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"count\",\"@highschool\"]]},\"id\":\"45266\",\"type\":\"HoverTool\"},{\"attributes\":{\"formatter\":{\"id\":\"46148\"},\"ticker\":{\"id\":\"45256\"}},\"id\":\"45255\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"45240\"},\"glyph\":{\"id\":\"45276\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"45277\"},\"selection_glyph\":null,\"view\":{\"id\":\"45279\"}},\"id\":\"45278\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"45241\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"7c0bc795-518f-4e81-bdae-ca864195c32f\",\"root_ids\":[\"45241\"],\"roots\":{\"45241\":\"6ac12e4e-ba18-4e8c-8a0a-2206ad8902e9\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "45241"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "#数据准备\n",
    "years = year\n",
    "highschool = highschool\n",
    "\n",
    "source = ColumnDataSource(\n",
    "    data = dict(\n",
    "        x=years,\n",
    "        highschool = highschool\n",
    "    )\n",
    ")\n",
    "\n",
    "TOOLTIPS = [\n",
    "    (\"count\",\"@highschool\")\n",
    "]\n",
    "\n",
    "p = figure(\n",
    "    x_range=years,\n",
    "    plot_height=350,\n",
    "    title = \"普通高中数量\",\n",
    "    tooltips = TOOLTIPS\n",
    ")\n",
    "p.vbar(x=\"x\",top=\"highschool\",width=0.8,source=source,color=\"#669999\")\n",
    "\n",
    "p.xgrid.grid_line_color = None\n",
    "p.y_range.start = 0\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通初中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 211,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[52871, 52805, 52415, 51982, 51894, 52118, 52405, 52623, 52804, 53216]"
      ]
     },
     "execution_count": 211,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "middleschool = np.array(school.loc[[4]]).tolist()[0]\n",
    "del middleschool[0]\n",
    "middleschool = [int(x) for x in middleschool]\n",
    "middleschool"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 212,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"869f1afc-0b1d-4d42-b832-4b1addb45287\" data-root-id=\"47169\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"b704614f-c0a1-4481-bbf7-40d1bc69db0c\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"47180\"}],\"center\":[{\"id\":\"47182\"},{\"id\":\"47186\"}],\"left\":[{\"id\":\"47183\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"47206\"}],\"title\":{\"id\":\"47170\"},\"toolbar\":{\"id\":\"47195\"},\"x_range\":{\"id\":\"47172\"},\"x_scale\":{\"id\":\"47176\"},\"y_range\":{\"id\":\"47174\"},\"y_scale\":{\"id\":\"47178\"}},\"id\":\"47169\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"47184\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data\":{\"middleschool\":[52871,52805,52415,51982,51894,52118,52405,52623,52804,53216],\"x\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\",\"2018\\u5e74\",\"2017\\u5e74\",\"2016\\u5e74\",\"2015\\u5e74\",\"2014\\u5e74\",\"2013\\u5e74\",\"2012\\u5e74\"]},\"selected\":{\"id\":\"48093\"},\"selection_policy\":{\"id\":\"48094\"}},\"id\":\"47168\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"start\":0},\"id\":\"47174\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"47187\",\"type\":\"PanTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"47193\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"47188\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#CC6666\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#CC6666\"},\"top\":{\"field\":\"middleschool\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"47205\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"47176\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"count\",\"@middleschool\"]]},\"id\":\"47194\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"47178\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"47168\"},\"glyph\":{\"id\":\"47204\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"47205\"},\"selection_glyph\":null,\"view\":{\"id\":\"47207\"}},\"id\":\"47206\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"48094\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"47181\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"48090\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"47183\"},\"dimension\":1,\"ticker\":null},\"id\":\"47186\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"\\u521d\\u4e2d\\u5b66\\u6821\\u6570\\u91cf\"},\"id\":\"47170\",\"type\":\"Title\"},{\"attributes\":{\"factors\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\",\"2018\\u5e74\",\"2017\\u5e74\",\"2016\\u5e74\",\"2015\\u5e74\",\"2014\\u5e74\",\"2013\\u5e74\",\"2012\\u5e74\"]},\"id\":\"47172\",\"type\":\"FactorRange\"},{\"attributes\":{\"formatter\":{\"id\":\"48090\"},\"ticker\":{\"id\":\"47181\"}},\"id\":\"47180\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"47187\"},{\"id\":\"47188\"},{\"id\":\"47189\"},{\"id\":\"47190\"},{\"id\":\"47191\"},{\"id\":\"47192\"},{\"id\":\"47194\"}]},\"id\":\"47195\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"47193\"}},\"id\":\"47189\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#CC6666\"},\"line_color\":{\"value\":\"#CC6666\"},\"top\":{\"field\":\"middleschool\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"x\"}},\"id\":\"47204\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"48093\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"47192\",\"type\":\"HelpTool\"},{\"attributes\":{\"formatter\":{\"id\":\"48092\"},\"ticker\":{\"id\":\"47184\"}},\"id\":\"47183\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"47191\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis\":{\"id\":\"47180\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"47182\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"47190\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"48092\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"47168\"}},\"id\":\"47207\",\"type\":\"CDSView\"}],\"root_ids\":[\"47169\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"b704614f-c0a1-4481-bbf7-40d1bc69db0c\",\"root_ids\":[\"47169\"],\"roots\":{\"47169\":\"869f1afc-0b1d-4d42-b832-4b1addb45287\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "47169"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "#数据准备\n",
    "years = year\n",
    "middleschool = middleschool\n",
    "\n",
    "source = ColumnDataSource(\n",
    "    data = dict(\n",
    "        x=years,\n",
    "        middleschool = middleschool\n",
    "    )\n",
    ")\n",
    "\n",
    "TOOLTIPS = [\n",
    "    (\"count\",\"@middleschool\")\n",
    "]\n",
    "\n",
    "p = figure(\n",
    "    x_range=years,\n",
    "    plot_height=350,\n",
    "    title = \"初中学校数量\",\n",
    "    tooltips = TOOLTIPS\n",
    ")\n",
    "p.vbar(x=\"x\",top=\"middleschool\",width=0.8,source=source,color=\"#CC6666\")\n",
    "\n",
    "p.xgrid.grid_line_color = None\n",
    "p.y_range.start = 0\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通小学"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 213,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['普通小学学校数(所)', '特殊教育学校学校数(所)', '学前教育学校数(所)']"
      ]
     },
     "execution_count": 213,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "schools = school['数据库：年度数据'].tolist()\n",
    "del schools[0:5]\n",
    "del schools[3]\n",
    "schools"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 214,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2021年', '普通小学学校数(所)'),\n",
       " ('2021年', '特殊教育学校学校数(所)'),\n",
       " ('2021年', '学前教育学校数(所)'),\n",
       " ('2020年', '普通小学学校数(所)'),\n",
       " ('2020年', '特殊教育学校学校数(所)'),\n",
       " ('2020年', '学前教育学校数(所)'),\n",
       " ('2019年', '普通小学学校数(所)'),\n",
       " ('2019年', '特殊教育学校学校数(所)'),\n",
       " ('2019年', '学前教育学校数(所)'),\n",
       " ('2018年', '普通小学学校数(所)'),\n",
       " ('2018年', '特殊教育学校学校数(所)'),\n",
       " ('2018年', '学前教育学校数(所)'),\n",
       " ('2017年', '普通小学学校数(所)'),\n",
       " ('2017年', '特殊教育学校学校数(所)'),\n",
       " ('2017年', '学前教育学校数(所)'),\n",
       " ('2016年', '普通小学学校数(所)'),\n",
       " ('2016年', '特殊教育学校学校数(所)'),\n",
       " ('2016年', '学前教育学校数(所)'),\n",
       " ('2015年', '普通小学学校数(所)'),\n",
       " ('2015年', '特殊教育学校学校数(所)'),\n",
       " ('2015年', '学前教育学校数(所)'),\n",
       " ('2014年', '普通小学学校数(所)'),\n",
       " ('2014年', '特殊教育学校学校数(所)'),\n",
       " ('2014年', '学前教育学校数(所)'),\n",
       " ('2013年', '普通小学学校数(所)'),\n",
       " ('2013年', '特殊教育学校学校数(所)'),\n",
       " ('2013年', '学前教育学校数(所)'),\n",
       " ('2012年', '普通小学学校数(所)'),\n",
       " ('2012年', '特殊教育学校学校数(所)'),\n",
       " ('2012年', '学前教育学校数(所)')]"
      ]
     },
     "execution_count": 214,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = [ (year, school) for year in year for school in schools ]\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 215,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[154279,\n",
       " 157979,\n",
       " 160148,\n",
       " 161811,\n",
       " 167009,\n",
       " 177633,\n",
       " 190525,\n",
       " 201377,\n",
       " 213529,\n",
       " 228585]"
      ]
     },
     "execution_count": 215,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "primary = np.array(school.loc[[5]]).tolist()[0]\n",
    "del primary[0]\n",
    "primary = [int(x) for x in primary]\n",
    "primary"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特殊教育学校"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 216,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2288, 2244, 2192, 2152, 2107, 2080, 2053, 2000, 1933, 1853]"
      ]
     },
     "execution_count": 216,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "special = np.array(school.loc[[6]]).tolist()[0]\n",
    "del special[0]\n",
    "special = [int(x) for x in special]\n",
    "special"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 学前教育学校"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 217,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[294832,\n",
       " 291715,\n",
       " 281174,\n",
       " 266677,\n",
       " 254950,\n",
       " 239812,\n",
       " 223683,\n",
       " 209881,\n",
       " 198553,\n",
       " 181251]"
      ]
     },
     "execution_count": 217,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pre = np.array(school.loc[[7]]).tolist()[0]\n",
    "del pre[0]\n",
    "pre= [int(x) for x in pre]\n",
    "pre"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 218,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(154279, 2288, 294832, 157979, 2244, 291715, 160148, 2192, 281174, 161811, 2152, 266677, 167009, 2107, 254950, 177633, 2080, 239812, 190525, 2053, 223683, 201377, 2000, 209881, 213529, 1933, 198553, 228585, 1853, 181251)\n"
     ]
    }
   ],
   "source": [
    "counts = sum(zip(primary, special, pre), ())\n",
    "print(counts)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 历年普通小学、特殊学校、学前教育学校数量变化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 219,
   "metadata": {},
   "outputs": [],
   "source": [
    "source = ColumnDataSource(data=dict(x=x, counts=counts))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 227,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"488e3710-6189-47be-9234-76723e3b795f\" data-root-id=\"50313\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"04a533a3-0141-4e1a-b82f-7fcbc0b3452e\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"50323\"}],\"center\":[{\"id\":\"50325\"},{\"id\":\"50329\"}],\"left\":[{\"id\":\"50326\"}],\"plot_height\":800,\"plot_width\":1000,\"renderers\":[{\"id\":\"50350\"}],\"title\":{\"id\":\"50314\"},\"toolbar\":{\"id\":\"50338\"},\"x_range\":{\"id\":\"50312\"},\"x_scale\":{\"id\":\"50319\"},\"y_range\":{\"id\":\"50317\"},\"y_scale\":{\"id\":\"50321\"}},\"id\":\"50313\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"50321\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"50336\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"50346\"}},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"counts\"},\"width\":{\"value\":1},\"x\":{\"field\":\"x\"}},\"id\":\"50348\",\"type\":\"VBar\"},{\"attributes\":{\"axis\":{\"id\":\"50323\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"50325\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"51258\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"50330\"},{\"id\":\"50331\"},{\"id\":\"50332\"},{\"id\":\"50333\"},{\"id\":\"50334\"},{\"id\":\"50335\"},{\"id\":\"50337\"}]},\"id\":\"50338\",\"type\":\"Toolbar\"},{\"attributes\":{\"start\":0},\"id\":\"50317\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"48144\"},\"glyph\":{\"id\":\"50348\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"50349\"},\"selection_glyph\":null,\"view\":{\"id\":\"50351\"}},\"id\":\"50350\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"48144\"}},\"id\":\"50351\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"count\",\"@counts\"]]},\"id\":\"50337\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"49113\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"51260\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"50336\"}},\"id\":\"50332\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"factors\":[[\"2021\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2021\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2021\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2020\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2020\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2020\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2019\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2019\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2019\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2018\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2018\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2018\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2017\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2017\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2017\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2016\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2016\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2016\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2015\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2015\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2015\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2014\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2014\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2014\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2013\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2013\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2013\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2012\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2012\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2012\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"]],\"range_padding\":0.1},\"id\":\"50312\",\"type\":\"FactorRange\"},{\"attributes\":{\"formatter\":{\"id\":\"51258\"},\"major_label_orientation\":1,\"ticker\":{\"id\":\"50324\"}},\"id\":\"50323\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"50346\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"top\":{\"field\":\"counts\"},\"width\":{\"value\":1},\"x\":{\"field\":\"x\"}},\"id\":\"50349\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"50327\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"50334\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"50324\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"49112\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"2012-2021\\u5e74\\u95f4\\u666e\\u901a\\u5c0f\\u5b66\\u3001\\u7279\\u6b8a\\u5b66\\u6821\\u3001\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570\\u91cf\\u53d8\\u5316\"},\"id\":\"50314\",\"type\":\"Title\"},{\"attributes\":{\"end\":2,\"factors\":[\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],\"palette\":[\"#c9d9d3\",\"#718dbf\",\"#e84d60\"],\"start\":1},\"id\":\"50346\",\"type\":\"CategoricalColorMapper\"},{\"attributes\":{},\"id\":\"50319\",\"type\":\"CategoricalScale\"},{\"attributes\":{},\"id\":\"50330\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"50326\"},\"dimension\":1,\"ticker\":null},\"id\":\"50329\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"50333\",\"type\":\"SaveTool\"},{\"attributes\":{\"formatter\":{\"id\":\"51260\"},\"ticker\":{\"id\":\"50327\"}},\"id\":\"50326\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"50335\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"50331\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data\":{\"counts\":[154279,2288,294832,157979,2244,291715,160148,2192,281174,161811,2152,266677,167009,2107,254950,177633,2080,239812,190525,2053,223683,201377,2000,209881,213529,1933,198553,228585,1853,181251],\"x\":[[\"2021\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2021\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2021\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2020\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2020\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2020\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2019\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2019\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2019\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2018\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2018\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2018\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2017\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2017\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2017\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2016\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2016\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2016\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2015\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2015\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2015\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2014\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2014\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2014\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2013\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2013\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2013\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2012\\u5e74\",\"\\u666e\\u901a\\u5c0f\\u5b66\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2012\\u5e74\",\"\\u7279\\u6b8a\\u6559\\u80b2\\u5b66\\u6821\\u5b66\\u6821\\u6570(\\u6240)\"],[\"2012\\u5e74\",\"\\u5b66\\u524d\\u6559\\u80b2\\u5b66\\u6821\\u6570(\\u6240)\"]]},\"selected\":{\"id\":\"49112\"},\"selection_policy\":{\"id\":\"49113\"}},\"id\":\"48144\",\"type\":\"ColumnDataSource\"}],\"root_ids\":[\"50313\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"04a533a3-0141-4e1a-b82f-7fcbc0b3452e\",\"root_ids\":[\"50313\"],\"roots\":{\"50313\":\"488e3710-6189-47be-9234-76723e3b795f\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "50313"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import FactorRange\n",
    "from bokeh.transform import factor_cmap\n",
    "\n",
    "palette = [\"#c9d9d3\", \"#718dbf\", \"#e84d60\"]\n",
    "TOOLTIPS = [\n",
    "    (\"count\",\"@counts\")\n",
    "]\n",
    "\n",
    "p = figure(x_range=FactorRange(*x), plot_height=800,plot_width=1000,title=\"2012-2021年间普通小学、特殊学校、学前教育学校数量变化\",tooltips=TOOLTIPS)\n",
    "\n",
    "p.vbar(x='x', top='counts', width=1, source=source,line_color=\"white\",\n",
    "       fill_color=factor_cmap('x', palette=palette, factors=schools, start=1, end=2))\n",
    "\n",
    "p.y_range.start = 0\n",
    "p.x_range.range_padding = 0.1\n",
    "p.xaxis.major_label_orientation = 1\n",
    "p.xgrid.grid_line_color = None\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 招生数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 228,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>数据库：年度数据</th>\n",
       "      <th>Unnamed: 1</th>\n",
       "      <th>Unnamed: 2</th>\n",
       "      <th>Unnamed: 3</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "      <th>Unnamed: 7</th>\n",
       "      <th>Unnamed: 8</th>\n",
       "      <th>Unnamed: 9</th>\n",
       "      <th>Unnamed: 10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>时间：最近10年</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>指标</td>\n",
       "      <td>2021年</td>\n",
       "      <td>2020年</td>\n",
       "      <td>2019年</td>\n",
       "      <td>2018年</td>\n",
       "      <td>2017年</td>\n",
       "      <td>2016年</td>\n",
       "      <td>2015年</td>\n",
       "      <td>2014年</td>\n",
       "      <td>2013年</td>\n",
       "      <td>2012年</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>普通高等学校招生数(万人)</td>\n",
       "      <td>1001.3151</td>\n",
       "      <td>967.4518</td>\n",
       "      <td>914.9026</td>\n",
       "      <td>790.9931</td>\n",
       "      <td>761.5</td>\n",
       "      <td>748.6</td>\n",
       "      <td>737.8</td>\n",
       "      <td>721.4</td>\n",
       "      <td>699.8</td>\n",
       "      <td>688.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>普通高中招生数(万人)</td>\n",
       "      <td>904.9538</td>\n",
       "      <td>876.4435</td>\n",
       "      <td>839.4949</td>\n",
       "      <td>792.7</td>\n",
       "      <td>800.1</td>\n",
       "      <td>802.9</td>\n",
       "      <td>796.6</td>\n",
       "      <td>796.6</td>\n",
       "      <td>822.7</td>\n",
       "      <td>844.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>初中招生数(万人)</td>\n",
       "      <td>1705.4376</td>\n",
       "      <td>1632.0964</td>\n",
       "      <td>1638.8487</td>\n",
       "      <td>1602.6</td>\n",
       "      <td>1547.2</td>\n",
       "      <td>1487.2</td>\n",
       "      <td>1411</td>\n",
       "      <td>1447.8</td>\n",
       "      <td>1496.1</td>\n",
       "      <td>1570.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>普通小学招生数(万人)</td>\n",
       "      <td>1782.5811</td>\n",
       "      <td>1808.0902</td>\n",
       "      <td>1869.0411</td>\n",
       "      <td>1867.3</td>\n",
       "      <td>1766.6</td>\n",
       "      <td>1752.5</td>\n",
       "      <td>1729</td>\n",
       "      <td>1658.4</td>\n",
       "      <td>1695.4</td>\n",
       "      <td>1714.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>特殊教育学校招生数(万人)</td>\n",
       "      <td>14.9062</td>\n",
       "      <td>14.9046</td>\n",
       "      <td>14.4211</td>\n",
       "      <td>12.4</td>\n",
       "      <td>11.1</td>\n",
       "      <td>9.2</td>\n",
       "      <td>8.3</td>\n",
       "      <td>7.1</td>\n",
       "      <td>6.6</td>\n",
       "      <td>6.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>数据来源：国家统计局</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        数据库：年度数据 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5  \\\n",
       "0       时间：最近10年        NaN        NaN        NaN        NaN        NaN   \n",
       "1             指标      2021年      2020年      2019年      2018年      2017年   \n",
       "2  普通高等学校招生数(万人)  1001.3151   967.4518   914.9026   790.9931      761.5   \n",
       "3    普通高中招生数(万人)   904.9538   876.4435   839.4949      792.7      800.1   \n",
       "4      初中招生数(万人)  1705.4376  1632.0964  1638.8487     1602.6     1547.2   \n",
       "5    普通小学招生数(万人)  1782.5811  1808.0902  1869.0411     1867.3     1766.6   \n",
       "6  特殊教育学校招生数(万人)    14.9062    14.9046    14.4211       12.4       11.1   \n",
       "7     数据来源：国家统计局        NaN        NaN        NaN        NaN        NaN   \n",
       "\n",
       "  Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10  \n",
       "0        NaN        NaN        NaN        NaN         NaN  \n",
       "1      2016年      2015年      2014年      2013年       2012年  \n",
       "2      748.6      737.8      721.4      699.8       688.8  \n",
       "3      802.9      796.6      796.6      822.7       844.6  \n",
       "4     1487.2       1411     1447.8     1496.1      1570.8  \n",
       "5     1752.5       1729     1658.4     1695.4      1714.7  \n",
       "6        9.2        8.3        7.1        6.6         6.6  \n",
       "7        NaN        NaN        NaN        NaN         NaN  "
      ]
     },
     "execution_count": 228,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "student = pd.read_csv('招生数量.csv')\n",
    "student"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['2021年', '2020年', '2019年']"
      ]
     },
     "execution_count": 229,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "time = np.array(student.loc[[1]]).tolist()[0]\n",
    "del time[0]\n",
    "del time[3:-1]\n",
    "del time[-1]\n",
    "time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['普通高等学校招生数(万人)', '普通高中招生数(万人)', '初中招生数(万人)']"
      ]
     },
     "execution_count": 230,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "schools = student['数据库：年度数据'].tolist()\n",
    "del schools[0:2]\n",
    "del schools[-3:-1]\n",
    "del schools[-1]\n",
    "schools"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高校"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1001, 967, 914]"
      ]
     },
     "execution_count": 257,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "university = np.array(student.loc[[2]]).tolist()[0]\n",
    "del university[0]\n",
    "del university[3:-1]\n",
    "del university[-1]\n",
    "university = [float(x) for x in university]\n",
    "universities = [int(x) for x in university]\n",
    "universities"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 258,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[904, 876, 839]"
      ]
     },
     "execution_count": 258,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "high = np.array(student.loc[[3]]).tolist()[0]\n",
    "del high[0]\n",
    "del high[3:-1]\n",
    "del high[-1]\n",
    "high = [float(x) for x in high]\n",
    "highschools = [int(x) for x in high]\n",
    "highschools"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 初中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 259,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1705, 1632, 1638]"
      ]
     },
     "execution_count": 259,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "middle = np.array(student.loc[[4]]).tolist()[0]\n",
    "del middle[0]\n",
    "del middle[3:-1]\n",
    "del middle[-1]\n",
    "middle = [float(x) for x in middle]\n",
    "middleschools = [int(x) for x in middle]\n",
    "middleschools"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 261,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"e768b559-754c-4c09-8f4e-667b0227b115\" data-root-id=\"52377\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"bee689c7-bc3b-472d-a247-8b23abfc1c35\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"52388\"}],\"center\":[{\"id\":\"52390\"},{\"id\":\"52394\"},{\"id\":\"52417\"}],\"left\":[{\"id\":\"52391\"}],\"outline_line_color\":null,\"plot_height\":250,\"renderers\":[{\"id\":\"52408\"},{\"id\":\"52423\"},{\"id\":\"52439\"}],\"title\":{\"id\":\"52378\"},\"toolbar\":{\"id\":\"52396\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"52380\"},\"x_scale\":{\"id\":\"52384\"},\"y_range\":{\"id\":\"52382\"},\"y_scale\":{\"id\":\"52386\"}},\"id\":\"52377\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\"]},\"id\":\"52400\",\"type\":\"Stack\"},{\"attributes\":{},\"id\":\"52414\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\",\"2020\\u5e74\"]},\"id\":\"52401\",\"type\":\"Stack\"},{\"attributes\":{},\"id\":\"52384\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"source\":{\"id\":\"52419\"}},\"id\":\"52424\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"52412\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"data\":{\"2019\\u5e74\":[914.9026,839,1638],\"2020\\u5e74\":[967.4518,876,1632],\"2021\\u5e74\":[1001.3151,904,1705],\"schools\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\"]},\"selected\":{\"id\":\"52432\"},\"selection_policy\":{\"id\":\"52433\"}},\"id\":\"52419\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"52386\",\"type\":\"LinearScale\"},{\"attributes\":{\"label\":{\"value\":\"2019\\u5e74\"},\"renderers\":[{\"id\":\"52439\"}]},\"id\":\"52452\",\"type\":\"LegendItem\"},{\"attributes\":{\"fields\":[]},\"id\":\"52398\",\"type\":\"Stack\"},{\"attributes\":{\"data\":{\"2019\\u5e74\":[914.9026,839,1638],\"2020\\u5e74\":[967.4518,876,1632],\"2021\\u5e74\":[1001.3151,904,1705],\"schools\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\"]},\"selected\":{\"id\":\"52415\"},\"selection_policy\":{\"id\":\"52416\"}},\"id\":\"52404\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"52402\"}},\"fill_color\":{\"value\":\"#e84d60\"},\"line_color\":{\"value\":\"#e84d60\"},\"top\":{\"expr\":{\"id\":\"52403\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"52437\",\"type\":\"VBar\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"52395\"}]},\"id\":\"52396\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"52432\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"52450\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"52433\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"52435\"},\"glyph\":{\"id\":\"52437\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"2019\\u5e74\",\"nonselection_glyph\":{\"id\":\"52438\"},\"selection_glyph\":null,\"view\":{\"id\":\"52440\"}},\"id\":\"52439\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"items\":[{\"id\":\"52418\"},{\"id\":\"52434\"},{\"id\":\"52452\"}],\"location\":\"top_left\",\"orientation\":\"horizontal\"},\"id\":\"52417\",\"type\":\"Legend\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"52398\"}},\"fill_color\":{\"value\":\"#c9d9d3\"},\"line_color\":{\"value\":\"#c9d9d3\"},\"top\":{\"expr\":{\"id\":\"52399\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"52406\",\"type\":\"VBar\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"52400\"}},\"fill_color\":{\"value\":\"#718dbf\"},\"line_color\":{\"value\":\"#718dbf\"},\"top\":{\"expr\":{\"id\":\"52401\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"52421\",\"type\":\"VBar\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"52402\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#e84d60\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#e84d60\"},\"top\":{\"expr\":{\"id\":\"52403\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"52438\",\"type\":\"VBar\"},{\"attributes\":{\"formatter\":{\"id\":\"52414\"},\"minor_tick_line_color\":null,\"ticker\":{\"id\":\"52392\"}},\"id\":\"52391\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"52419\"},\"glyph\":{\"id\":\"52421\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"2020\\u5e74\",\"nonselection_glyph\":{\"id\":\"52422\"},\"selection_glyph\":null,\"view\":{\"id\":\"52424\"}},\"id\":\"52423\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"label\":{\"value\":\"2020\\u5e74\"},\"renderers\":[{\"id\":\"52423\"}]},\"id\":\"52434\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"52404\"}},\"id\":\"52409\",\"type\":\"CDSView\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\"]},\"id\":\"52403\",\"type\":\"Stack\"},{\"attributes\":{\"factors\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\"],\"range_padding\":0.1},\"id\":\"52380\",\"type\":\"FactorRange\"},{\"attributes\":{\"label\":{\"value\":\"2021\\u5e74\"},\"renderers\":[{\"id\":\"52408\"}]},\"id\":\"52418\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"52392\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"52415\",\"type\":\"Selection\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"52398\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#c9d9d3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#c9d9d3\"},\"top\":{\"expr\":{\"id\":\"52399\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"52407\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"52451\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"start\":0},\"id\":\"52382\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"52416\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text\":\"2019-2021\\u5e74\\u95f4\\u666e\\u901a\\u9ad8\\u6821\\u3001\\u666e\\u901a\\u9ad8\\u4e2d\\u4ee5\\u53ca\\u521d\\u4e2d\\u62db\\u751f\\u4eba\\u6570\"},\"id\":\"52378\",\"type\":\"Title\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\",\"2020\\u5e74\"]},\"id\":\"52402\",\"type\":\"Stack\"},{\"attributes\":{\"source\":{\"id\":\"52435\"}},\"id\":\"52440\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"52400\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#718dbf\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#718dbf\"},\"top\":{\"expr\":{\"id\":\"52401\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"52422\",\"type\":\"VBar\"},{\"attributes\":{\"data\":{\"2019\\u5e74\":[914.9026,839,1638],\"2020\\u5e74\":[967.4518,876,1632],\"2021\\u5e74\":[1001.3151,904,1705],\"schools\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u62db\\u751f\\u6570(\\u4e07\\u4eba)\"]},\"selected\":{\"id\":\"52450\"},\"selection_policy\":{\"id\":\"52451\"}},\"id\":\"52435\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"52389\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"52412\"},\"minor_tick_line_color\":null,\"ticker\":{\"id\":\"52389\"}},\"id\":\"52388\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"$name @schools: @$name\"},\"id\":\"52395\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"52388\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"52390\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"52404\"},\"glyph\":{\"id\":\"52406\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"2021\\u5e74\",\"nonselection_glyph\":{\"id\":\"52407\"},\"selection_glyph\":null,\"view\":{\"id\":\"52409\"}},\"id\":\"52408\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"52391\"},\"dimension\":1,\"ticker\":null},\"id\":\"52394\",\"type\":\"Grid\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\"]},\"id\":\"52399\",\"type\":\"Stack\"}],\"root_ids\":[\"52377\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"bee689c7-bc3b-472d-a247-8b23abfc1c35\",\"root_ids\":[\"52377\"],\"roots\":{\"52377\":\"e768b559-754c-4c09-8f4e-667b0227b115\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "52377"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.plotting import figure, show\n",
    "\n",
    "schools = schools\n",
    "years = time\n",
    "colors = [\"#c9d9d3\", \"#718dbf\", \"#e84d60\"]\n",
    "\n",
    "data = {'schools' : schools,\n",
    "        '2021年'   : [university[0],highschools[0],middleschools[0]],\n",
    "        '2020年'   : [university[1],highschools[1],middleschools[1]],\n",
    "        '2019年'   : [university[2],highschools[2],middleschools[2]]}\n",
    "\n",
    "p = figure(x_range=schools, height=250, title=\"2019-2021年间普通高校、普通高中以及初中招生人数\",\n",
    "           toolbar_location=None, tools=\"hover\", tooltips=\"$name @schools: @$name\")\n",
    "\n",
    "p.vbar_stack(years, x='schools', width=0.9, color=colors, source=data,\n",
    "             legend_label=years)\n",
    "\n",
    "p.y_range.start = 0\n",
    "p.x_range.range_padding = 0.1\n",
    "p.xgrid.grid_line_color = None\n",
    "p.axis.minor_tick_line_color = None\n",
    "p.outline_line_color = None\n",
    "p.legend.location = \"top_left\"\n",
    "p.legend.orientation = \"horizontal\"\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 在校生"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>数据库：年度数据</th>\n",
       "      <th>Unnamed: 1</th>\n",
       "      <th>Unnamed: 2</th>\n",
       "      <th>Unnamed: 3</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "      <th>Unnamed: 7</th>\n",
       "      <th>Unnamed: 8</th>\n",
       "      <th>Unnamed: 9</th>\n",
       "      <th>Unnamed: 10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>时间：最近10年</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>指标</td>\n",
       "      <td>2021年</td>\n",
       "      <td>2020年</td>\n",
       "      <td>2019年</td>\n",
       "      <td>2018年</td>\n",
       "      <td>2017年</td>\n",
       "      <td>2016年</td>\n",
       "      <td>2015年</td>\n",
       "      <td>2014年</td>\n",
       "      <td>2013年</td>\n",
       "      <td>2012年</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>普通高等学校在校学生数(万人)</td>\n",
       "      <td>3496.1307</td>\n",
       "      <td>3285.2948</td>\n",
       "      <td>3031.5262</td>\n",
       "      <td>2831</td>\n",
       "      <td>2753.6</td>\n",
       "      <td>2695.8</td>\n",
       "      <td>2625.3</td>\n",
       "      <td>2547.7</td>\n",
       "      <td>2468.1</td>\n",
       "      <td>2391.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>普通中学在校学生数(万人)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7230.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>普通高中在校学生数(万人)</td>\n",
       "      <td>2605.0291</td>\n",
       "      <td>2494.4529</td>\n",
       "      <td>2414.305</td>\n",
       "      <td>2375.4</td>\n",
       "      <td>2374.5</td>\n",
       "      <td>2366.6</td>\n",
       "      <td>2374.4</td>\n",
       "      <td>2400.5</td>\n",
       "      <td>2435.9</td>\n",
       "      <td>2467.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>初中在校学生数(万人)</td>\n",
       "      <td>5018.4373</td>\n",
       "      <td>4914.0893</td>\n",
       "      <td>4827.1362</td>\n",
       "      <td>4652.6</td>\n",
       "      <td>4442.1</td>\n",
       "      <td>4329.4</td>\n",
       "      <td>4312</td>\n",
       "      <td>4384.6</td>\n",
       "      <td>4440.1</td>\n",
       "      <td>4763.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>职业中学在校学生数(万人)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>普通小学在校学生数(万人)</td>\n",
       "      <td>10779.9349</td>\n",
       "      <td>10725.3532</td>\n",
       "      <td>10561.2358</td>\n",
       "      <td>10339.3</td>\n",
       "      <td>10093.7</td>\n",
       "      <td>9913</td>\n",
       "      <td>9692.2</td>\n",
       "      <td>9451.1</td>\n",
       "      <td>9360.5</td>\n",
       "      <td>9695.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>特殊教育学校在校学生数(万人)</td>\n",
       "      <td>91.9767</td>\n",
       "      <td>88.08</td>\n",
       "      <td>79.4612</td>\n",
       "      <td>66.6</td>\n",
       "      <td>57.9</td>\n",
       "      <td>49.2</td>\n",
       "      <td>44.2</td>\n",
       "      <td>39.5</td>\n",
       "      <td>36.8</td>\n",
       "      <td>37.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>学前教育在校学生数(万人)</td>\n",
       "      <td>4805.2063</td>\n",
       "      <td>4818.2634</td>\n",
       "      <td>4713.881</td>\n",
       "      <td>4656.4</td>\n",
       "      <td>4600.1</td>\n",
       "      <td>4413.9</td>\n",
       "      <td>4264.8</td>\n",
       "      <td>4050.7</td>\n",
       "      <td>3894.7</td>\n",
       "      <td>3685.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>数据来源：国家统计局</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           数据库：年度数据  Unnamed: 1  Unnamed: 2  Unnamed: 3 Unnamed: 4 Unnamed: 5  \\\n",
       "0          时间：最近10年         NaN         NaN         NaN        NaN        NaN   \n",
       "1                指标       2021年       2020年       2019年      2018年      2017年   \n",
       "2   普通高等学校在校学生数(万人)   3496.1307   3285.2948   3031.5262       2831     2753.6   \n",
       "3     普通中学在校学生数(万人)         NaN         NaN         NaN        NaN        NaN   \n",
       "4     普通高中在校学生数(万人)   2605.0291   2494.4529    2414.305     2375.4     2374.5   \n",
       "5       初中在校学生数(万人)   5018.4373   4914.0893   4827.1362     4652.6     4442.1   \n",
       "6     职业中学在校学生数(万人)         NaN         NaN         NaN        NaN        NaN   \n",
       "7     普通小学在校学生数(万人)  10779.9349  10725.3532  10561.2358    10339.3    10093.7   \n",
       "8   特殊教育学校在校学生数(万人)     91.9767       88.08     79.4612       66.6       57.9   \n",
       "9     学前教育在校学生数(万人)   4805.2063   4818.2634    4713.881     4656.4     4600.1   \n",
       "10       数据来源：国家统计局         NaN         NaN         NaN        NaN        NaN   \n",
       "\n",
       "   Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10  \n",
       "0         NaN        NaN        NaN        NaN         NaN  \n",
       "1       2016年      2015年      2014年      2013年       2012年  \n",
       "2      2695.8     2625.3     2547.7     2468.1      2391.3  \n",
       "3         NaN        NaN        NaN        NaN      7230.2  \n",
       "4      2366.6     2374.4     2400.5     2435.9      2467.2  \n",
       "5      4329.4       4312     4384.6     4440.1      4763.1  \n",
       "6         NaN        NaN        NaN        NaN         NaN  \n",
       "7        9913     9692.2     9451.1     9360.5      9695.9  \n",
       "8        49.2       44.2       39.5       36.8        37.9  \n",
       "9      4413.9     4264.8     4050.7     3894.7      3685.8  \n",
       "10        NaN        NaN        NaN        NaN         NaN  "
      ]
     },
     "execution_count": 262,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "student_inschool = pd.read_csv('在校生.csv')\n",
    "student_inschool"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['普通高等学校在校学生数(万人)', '普通高中在校学生数(万人)', '初中在校学生数(万人)']"
      ]
     },
     "execution_count": 263,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "studying = student_inschool['数据库：年度数据'].tolist()\n",
    "del studying[0:2]\n",
    "del studying[1]\n",
    "del studying[3:-1]\n",
    "del studying[-1]\n",
    "studying"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高校在校生"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 264,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[3496, 3285, 3031]"
      ]
     },
     "execution_count": 264,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "in_university = np.array(student_inschool.loc[[2]]).tolist()[0]\n",
    "del in_university[0]\n",
    "del in_university[3:-1]\n",
    "del in_university[-1]\n",
    "in_university = [float(x) for x in in_university]\n",
    "in_university = [int(x) for x in in_university]\n",
    "in_university"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高中在校生"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 265,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2605, 2494, 2414]"
      ]
     },
     "execution_count": 265,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "in_highschool = np.array(student_inschool.loc[[4]]).tolist()[0]\n",
    "del in_highschool[0]\n",
    "del in_highschool[3:-1]\n",
    "del in_highschool[-1]\n",
    "in_highschool = [float(x) for x in in_highschool]\n",
    "in_highschool = [int(x) for x in in_highschool]\n",
    "in_highschool"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 初中在校生"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 266,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[5018, 4914, 4827]"
      ]
     },
     "execution_count": 266,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "in_middleschools = np.array(student_inschool.loc[[5]]).tolist()[0]\n",
    "del in_middleschools[0]\n",
    "del in_middleschools[3:-1]\n",
    "del in_middleschools[-1]\n",
    "in_middleschools = [float(x) for x in in_middleschools]\n",
    "in_middleschools = [int(x) for x in in_middleschools]\n",
    "in_middleschools"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 267,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"860bc017-09d5-4308-b8a2-497028742fe5\" data-root-id=\"53453\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"80e46b40-d86b-45b1-b5ab-7e353fdb2b53\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"53464\"}],\"center\":[{\"id\":\"53466\"},{\"id\":\"53470\"},{\"id\":\"53493\"}],\"left\":[{\"id\":\"53467\"}],\"outline_line_color\":null,\"plot_height\":250,\"renderers\":[{\"id\":\"53484\"},{\"id\":\"53499\"},{\"id\":\"53515\"}],\"title\":{\"id\":\"53454\"},\"toolbar\":{\"id\":\"53472\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"53456\"},\"x_scale\":{\"id\":\"53460\"},\"y_range\":{\"id\":\"53458\"},\"y_scale\":{\"id\":\"53462\"}},\"id\":\"53453\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"53488\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{},\"id\":\"53508\",\"type\":\"Selection\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\",\"2020\\u5e74\"]},\"id\":\"53477\",\"type\":\"Stack\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\",\"2020\\u5e74\"]},\"id\":\"53478\",\"type\":\"Stack\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"53476\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#718dbf\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#718dbf\"},\"top\":{\"expr\":{\"id\":\"53477\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"53498\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"53526\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"53488\"},\"minor_tick_line_color\":null,\"ticker\":{\"id\":\"53465\"}},\"id\":\"53464\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"label\":{\"value\":\"2020\\u5e74\"},\"renderers\":[{\"id\":\"53499\"}]},\"id\":\"53510\",\"type\":\"LegendItem\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\"]},\"id\":\"53476\",\"type\":\"Stack\"},{\"attributes\":{\"source\":{\"id\":\"53495\"}},\"id\":\"53500\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"53480\"}},\"id\":\"53485\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"53527\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fields\":[]},\"id\":\"53474\",\"type\":\"Stack\"},{\"attributes\":{\"formatter\":{\"id\":\"53490\"},\"minor_tick_line_color\":null,\"ticker\":{\"id\":\"53468\"}},\"id\":\"53467\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"53491\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"53495\"},\"glyph\":{\"id\":\"53497\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"2020\\u5e74\",\"nonselection_glyph\":{\"id\":\"53498\"},\"selection_glyph\":null,\"view\":{\"id\":\"53500\"}},\"id\":\"53499\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"start\":0},\"id\":\"53458\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"53511\"},\"glyph\":{\"id\":\"53513\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"2019\\u5e74\",\"nonselection_glyph\":{\"id\":\"53514\"},\"selection_glyph\":null,\"view\":{\"id\":\"53516\"}},\"id\":\"53515\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"factors\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\"],\"range_padding\":0.1},\"id\":\"53456\",\"type\":\"FactorRange\"},{\"attributes\":{\"data\":{\"2019\\u5e74\":[3031,2414,4827],\"2020\\u5e74\":[3285,2494,4914],\"2021\\u5e74\":[3496,2605,5018],\"schools\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\"]},\"selected\":{\"id\":\"53491\"},\"selection_policy\":{\"id\":\"53492\"}},\"id\":\"53480\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"53478\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#e84d60\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#e84d60\"},\"top\":{\"expr\":{\"id\":\"53479\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"53514\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"53460\",\"type\":\"CategoricalScale\"},{\"attributes\":{\"data\":{\"2019\\u5e74\":[3031,2414,4827],\"2020\\u5e74\":[3285,2494,4914],\"2021\\u5e74\":[3496,2605,5018],\"schools\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\"]},\"selected\":{\"id\":\"53526\"},\"selection_policy\":{\"id\":\"53527\"}},\"id\":\"53511\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"items\":[{\"id\":\"53494\"},{\"id\":\"53510\"},{\"id\":\"53528\"}],\"location\":\"top_left\",\"orientation\":\"horizontal\"},\"id\":\"53493\",\"type\":\"Legend\"},{\"attributes\":{\"data\":{\"2019\\u5e74\":[3031,2414,4827],\"2020\\u5e74\":[3285,2494,4914],\"2021\\u5e74\":[3496,2605,5018],\"schools\":[\"\\u666e\\u901a\\u9ad8\\u7b49\\u5b66\\u6821\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\",\"\\u521d\\u4e2d\\u5728\\u6821\\u5b66\\u751f\\u6570(\\u4e07\\u4eba)\"]},\"selected\":{\"id\":\"53508\"},\"selection_policy\":{\"id\":\"53509\"}},\"id\":\"53495\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\",\"2020\\u5e74\",\"2019\\u5e74\"]},\"id\":\"53479\",\"type\":\"Stack\"},{\"attributes\":{},\"id\":\"53462\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"53478\"}},\"fill_color\":{\"value\":\"#e84d60\"},\"line_color\":{\"value\":\"#e84d60\"},\"top\":{\"expr\":{\"id\":\"53479\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"53513\",\"type\":\"VBar\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"$name @schools: @$name\"},\"id\":\"53471\",\"type\":\"HoverTool\"},{\"attributes\":{\"fields\":[\"2021\\u5e74\"]},\"id\":\"53475\",\"type\":\"Stack\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"53474\"}},\"fill_color\":{\"value\":\"#c9d9d3\"},\"line_color\":{\"value\":\"#c9d9d3\"},\"top\":{\"expr\":{\"id\":\"53475\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"53482\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"53468\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"53476\"}},\"fill_color\":{\"value\":\"#718dbf\"},\"line_color\":{\"value\":\"#718dbf\"},\"top\":{\"expr\":{\"id\":\"53477\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"53497\",\"type\":\"VBar\"},{\"attributes\":{\"text\":\"2019-2021\\u5e74\\u95f4\\u666e\\u901a\\u9ad8\\u6821\\u3001\\u666e\\u901a\\u9ad8\\u4e2d\\u4ee5\\u53ca\\u521d\\u4e2d\\u5728\\u6821\\u4eba\\u6570\"},\"id\":\"53454\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"53511\"}},\"id\":\"53516\",\"type\":\"CDSView\"},{\"attributes\":{\"label\":{\"value\":\"2021\\u5e74\"},\"renderers\":[{\"id\":\"53484\"}]},\"id\":\"53494\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis\":{\"id\":\"53464\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"53466\",\"type\":\"Grid\"},{\"attributes\":{\"label\":{\"value\":\"2019\\u5e74\"},\"renderers\":[{\"id\":\"53515\"}]},\"id\":\"53528\",\"type\":\"LegendItem\"},{\"attributes\":{\"bottom\":{\"expr\":{\"id\":\"53474\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#c9d9d3\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#c9d9d3\"},\"top\":{\"expr\":{\"id\":\"53475\"}},\"width\":{\"value\":0.9},\"x\":{\"field\":\"schools\"}},\"id\":\"53483\",\"type\":\"VBar\"},{\"attributes\":{},\"id\":\"53490\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"53492\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"53465\",\"type\":\"CategoricalTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"53480\"},\"glyph\":{\"id\":\"53482\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"2021\\u5e74\",\"nonselection_glyph\":{\"id\":\"53483\"},\"selection_glyph\":null,\"view\":{\"id\":\"53485\"}},\"id\":\"53484\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"53509\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"53471\"}]},\"id\":\"53472\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"53467\"},\"dimension\":1,\"ticker\":null},\"id\":\"53470\",\"type\":\"Grid\"}],\"root_ids\":[\"53453\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"80e46b40-d86b-45b1-b5ab-7e353fdb2b53\",\"root_ids\":[\"53453\"],\"roots\":{\"53453\":\"860bc017-09d5-4308-b8a2-497028742fe5\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "53453"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.plotting import figure, show\n",
    "\n",
    "schools = studying\n",
    "years = time\n",
    "colors = [\"#c9d9d3\", \"#718dbf\", \"#e84d60\"]\n",
    "\n",
    "data = {'schools' : studying,\n",
    "        '2021年'   : [in_university[0],in_highschool[0],in_middleschools[0]],\n",
    "        '2020年'   : [in_university[1],in_highschool[1],in_middleschools[1]],\n",
    "        '2019年'   : [in_university[2],in_highschool[2],in_middleschools[2]]}\n",
    "\n",
    "p = figure(x_range=schools, height=250, title=\"2019-2021年间普通高校、普通高中以及初中在校人数\",\n",
    "           toolbar_location=None, tools=\"hover\", tooltips=\"$name @schools: @$name\")\n",
    "\n",
    "p.vbar_stack(years, x='schools', width=0.9, color=colors, source=data,\n",
    "             legend_label=years)\n",
    "\n",
    "p.y_range.start = 0\n",
    "p.x_range.range_padding = 0.1\n",
    "p.xgrid.grid_line_color = None\n",
    "p.axis.minor_tick_line_color = None\n",
    "p.outline_line_color = None\n",
    "p.legend.location = \"top_left\"\n",
    "p.legend.orientation = \"horizontal\"\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 教师数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 268,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>数据库：年度数据</th>\n",
       "      <th>Unnamed: 1</th>\n",
       "      <th>Unnamed: 2</th>\n",
       "      <th>Unnamed: 3</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "      <th>Unnamed: 7</th>\n",
       "      <th>Unnamed: 8</th>\n",
       "      <th>Unnamed: 9</th>\n",
       "      <th>Unnamed: 10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>时间：最近10年</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>指标</td>\n",
       "      <td>2021年</td>\n",
       "      <td>2020年</td>\n",
       "      <td>2019年</td>\n",
       "      <td>2018年</td>\n",
       "      <td>2017年</td>\n",
       "      <td>2016年</td>\n",
       "      <td>2015年</td>\n",
       "      <td>2014年</td>\n",
       "      <td>2013年</td>\n",
       "      <td>2012年</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>普通高等学校专任教师数(万人)</td>\n",
       "      <td>186.545</td>\n",
       "      <td>183.2982</td>\n",
       "      <td>174.0145</td>\n",
       "      <td>167.3</td>\n",
       "      <td>163.3</td>\n",
       "      <td>160.2</td>\n",
       "      <td>157.3</td>\n",
       "      <td>153.5</td>\n",
       "      <td>149.7</td>\n",
       "      <td>144</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>普通高中专任教师数(万人)</td>\n",
       "      <td>202.8341</td>\n",
       "      <td>193.3228</td>\n",
       "      <td>185.9242</td>\n",
       "      <td>181.3</td>\n",
       "      <td>177.4</td>\n",
       "      <td>173.3</td>\n",
       "      <td>169.5</td>\n",
       "      <td>166.3</td>\n",
       "      <td>162.9</td>\n",
       "      <td>159.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>初中专任教师数(万人)</td>\n",
       "      <td>397.1121</td>\n",
       "      <td>386.0741</td>\n",
       "      <td>374.7429</td>\n",
       "      <td>363.9</td>\n",
       "      <td>354.9</td>\n",
       "      <td>348.8</td>\n",
       "      <td>347.6</td>\n",
       "      <td>348.8</td>\n",
       "      <td>348.1</td>\n",
       "      <td>350.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>普通小学专任教师数(万人)</td>\n",
       "      <td>660.0799</td>\n",
       "      <td>643.4178</td>\n",
       "      <td>626.9084</td>\n",
       "      <td>609.2</td>\n",
       "      <td>594.5</td>\n",
       "      <td>578.9</td>\n",
       "      <td>568.5</td>\n",
       "      <td>563.4</td>\n",
       "      <td>558.5</td>\n",
       "      <td>558.5476</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>特殊教育学校专任教师数(万人)</td>\n",
       "      <td>6.9353</td>\n",
       "      <td>6.6169</td>\n",
       "      <td>6.2358</td>\n",
       "      <td>5.9</td>\n",
       "      <td>5.6</td>\n",
       "      <td>5.3</td>\n",
       "      <td>5</td>\n",
       "      <td>4.8</td>\n",
       "      <td>4.6</td>\n",
       "      <td>4.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>学前教育专任教师数(万人)</td>\n",
       "      <td>319.0989</td>\n",
       "      <td>291.3426</td>\n",
       "      <td>276.3104</td>\n",
       "      <td>258.1</td>\n",
       "      <td>243.2</td>\n",
       "      <td>223.2</td>\n",
       "      <td>205.1</td>\n",
       "      <td>184.4</td>\n",
       "      <td>166.3</td>\n",
       "      <td>147.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>数据来源：国家统计局</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          数据库：年度数据 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5  \\\n",
       "0         时间：最近10年        NaN        NaN        NaN        NaN        NaN   \n",
       "1               指标      2021年      2020年      2019年      2018年      2017年   \n",
       "2  普通高等学校专任教师数(万人)    186.545   183.2982   174.0145      167.3      163.3   \n",
       "3    普通高中专任教师数(万人)   202.8341   193.3228   185.9242      181.3      177.4   \n",
       "4      初中专任教师数(万人)   397.1121   386.0741   374.7429      363.9      354.9   \n",
       "5    普通小学专任教师数(万人)   660.0799   643.4178   626.9084      609.2      594.5   \n",
       "6  特殊教育学校专任教师数(万人)     6.9353     6.6169     6.2358        5.9        5.6   \n",
       "7    学前教育专任教师数(万人)   319.0989   291.3426   276.3104      258.1      243.2   \n",
       "8       数据来源：国家统计局        NaN        NaN        NaN        NaN        NaN   \n",
       "\n",
       "  Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10  \n",
       "0        NaN        NaN        NaN        NaN         NaN  \n",
       "1      2016年      2015年      2014年      2013年       2012年  \n",
       "2      160.2      157.3      153.5      149.7         144  \n",
       "3      173.3      169.5      166.3      162.9       159.5  \n",
       "4      348.8      347.6      348.8      348.1       350.4  \n",
       "5      578.9      568.5      563.4      558.5    558.5476  \n",
       "6        5.3          5        4.8        4.6         4.4  \n",
       "7      223.2      205.1      184.4      166.3       147.9  \n",
       "8        NaN        NaN        NaN        NaN         NaN  "
      ]
     },
     "execution_count": 268,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "teacher = pd.read_csv('教师数量.csv')\n",
    "teacher"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高校教师"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 269,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[186.545, 183.2982, 174.0145]"
      ]
     },
     "execution_count": 269,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "uni_teacher = np.array(teacher.loc[[2]]).tolist()[0]\n",
    "del uni_teacher[0]\n",
    "del uni_teacher[3:-1]\n",
    "del uni_teacher[-1]\n",
    "uni_teacher  = [float(x) for x in uni_teacher]\n",
    "uni_teacher"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通高中教师"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 270,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[202.8341, 193.3228, 185.9242]"
      ]
     },
     "execution_count": 270,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "high_teacher = np.array(teacher.loc[[3]]).tolist()[0]\n",
    "del high_teacher[0]\n",
    "del high_teacher[3:-1]\n",
    "del high_teacher[-1]\n",
    "high_teacher  = [float(x) for x in high_teacher]\n",
    "high_teacher"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 初中专任教师"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 271,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[397.1121, 386.0741, 374.7429]"
      ]
     },
     "execution_count": 271,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "middle_teacher = np.array(teacher.loc[[4]]).tolist()[0]\n",
    "del middle_teacher[0]\n",
    "del middle_teacher[3:-1]\n",
    "del middle_teacher[-1]\n",
    "middle_teacher  = [float(x) for x in middle_teacher]\n",
    "middle_teacher"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 普通小学专任教师"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 272,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[660.0799, 643.4178, 626.9084]"
      ]
     },
     "execution_count": 272,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "primary_teacher = np.array(teacher.loc[[5]]).tolist()[0]\n",
    "del primary_teacher[0]\n",
    "del primary_teacher[3:-1]\n",
    "del primary_teacher[-1]\n",
    "primary_teacher  = [float(x) for x in primary_teacher]\n",
    "primary_teacher"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 273,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"6d31d3cd-0284-4e2b-ab03-6092f0a2120a\" data-root-id=\"54541\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"c7a6b571-e57a-462e-b301-47f98f713ccc\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"54552\"}],\"center\":[{\"id\":\"54555\"},{\"id\":\"54559\"},{\"id\":\"54585\"}],\"left\":[{\"id\":\"54556\"}],\"plot_height\":500,\"plot_width\":800,\"renderers\":[{\"id\":\"54575\"},{\"id\":\"54590\"},{\"id\":\"54603\"},{\"id\":\"54617\"},{\"id\":\"54630\"},{\"id\":\"54644\"},{\"id\":\"54657\"},{\"id\":\"54671\"}],\"title\":{\"id\":\"54542\"},\"toolbar\":{\"id\":\"54566\"},\"x_range\":{\"id\":\"54544\"},\"x_scale\":{\"id\":\"54548\"},\"y_range\":{\"id\":\"54546\"},\"y_scale\":{\"id\":\"54550\"}},\"id\":\"54541\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"54563\",\"type\":\"SaveTool\"},{\"attributes\":{\"label\":{\"value\":\"\\u666e\\u901a\\u9ad8\\u6821\"},\"renderers\":[{\"id\":\"54575\"},{\"id\":\"54590\"}]},\"id\":\"54586\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54591\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"uni\"}},\"id\":\"54588\",\"type\":\"Circle\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"uni\"}},\"id\":\"54573\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"54562\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis_label\":\"\\u5e74\\u4efd\",\"formatter\":{\"id\":\"54579\"},\"ticker\":{\"id\":\"54553\"}},\"id\":\"54552\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"54560\",\"type\":\"PanTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"54560\"},{\"id\":\"54561\"},{\"id\":\"54562\"},{\"id\":\"54563\"},{\"id\":\"54565\"}]},\"id\":\"54566\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54601\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"54602\"},\"selection_glyph\":null,\"view\":{\"id\":\"54604\"}},\"id\":\"54603\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"54544\",\"type\":\"DataRange1d\"},{\"attributes\":{\"click_policy\":\"hide\",\"items\":[{\"id\":\"54586\"},{\"id\":\"54613\"},{\"id\":\"54640\"},{\"id\":\"54667\"}],\"location\":[1,250]},\"id\":\"54585\",\"type\":\"Legend\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"primary\"}},\"id\":\"54669\",\"type\":\"Circle\"},{\"attributes\":{\"text\":\"2019-2021\\u5e74\\u5b66\\u6821\\u4e13\\u4efb\\u6559\\u5e08\\u6570\\u91cf\"},\"id\":\"54542\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"yellow\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"middle\"}},\"id\":\"54629\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54576\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"middle\"}},\"id\":\"54642\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"54548\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"high\"}},\"id\":\"54615\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"54564\"}},\"id\":\"54561\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"label\":{\"value\":\"\\u521d\\u4e2d\"},\"renderers\":[{\"id\":\"54630\"},{\"id\":\"54644\"}]},\"id\":\"54640\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"54579\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54631\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"54583\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"54564\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"\\u6570\\u91cf\\uff08\\u4e07\\u4eba\\uff09\",\"formatter\":{\"id\":\"54581\"},\"ticker\":{\"id\":\"54557\"}},\"id\":\"54556\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":\"green\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"high\"}},\"id\":\"54601\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"54581\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"count\",\"@$name\"]]},\"id\":\"54565\",\"type\":\"HoverTool\"},{\"attributes\":{\"label\":{\"value\":\"\\u666e\\u901a\\u9ad8\\u4e2d\"},\"renderers\":[{\"id\":\"54603\"},{\"id\":\"54617\"}]},\"id\":\"54613\",\"type\":\"LegendItem\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54655\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"54656\"},\"selection_glyph\":null,\"view\":{\"id\":\"54658\"}},\"id\":\"54657\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"pink\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"primary\"}},\"id\":\"54656\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"uni\"}},\"id\":\"54589\",\"type\":\"Circle\"},{\"attributes\":{\"label\":{\"value\":\"\\u666e\\u901a\\u5c0f\\u5b66\"},\"renderers\":[{\"id\":\"54657\"},{\"id\":\"54671\"}]},\"id\":\"54667\",\"type\":\"LegendItem\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54588\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"uni\",\"nonselection_glyph\":{\"id\":\"54589\"},\"selection_glyph\":null,\"view\":{\"id\":\"54591\"}},\"id\":\"54590\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"54552\"},\"ticker\":null},\"id\":\"54555\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"middle\"}},\"id\":\"54643\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"high\"}},\"id\":\"54616\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"54546\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"54550\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54604\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54658\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"54582\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"54556\"},\"dimension\":1,\"ticker\":null},\"id\":\"54559\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"54557\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"uni\"}},\"id\":\"54574\",\"type\":\"Line\"},{\"attributes\":{\"line_color\":\"pink\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"primary\"}},\"id\":\"54655\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54642\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"middle\",\"nonselection_glyph\":{\"id\":\"54643\"},\"selection_glyph\":null,\"view\":{\"id\":\"54645\"}},\"id\":\"54644\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54573\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"uni\",\"nonselection_glyph\":{\"id\":\"54574\"},\"selection_glyph\":null,\"view\":{\"id\":\"54576\"}},\"id\":\"54575\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54628\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"54629\"},\"selection_glyph\":null,\"view\":{\"id\":\"54631\"}},\"id\":\"54630\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54645\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"green\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"high\"}},\"id\":\"54602\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":8},\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"primary\"}},\"id\":\"54670\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"high\":[202.8341,193.3228,185.9242],\"middle\":[397.1121,386.0741,374.7429],\"primary\":[660.0799,643.4178,626.9084],\"uni\":[186.545,183.2982,174.0145],\"years\":[\"2021\",\"2020\",\"2019\"]},\"selected\":{\"id\":\"54582\"},\"selection_policy\":{\"id\":\"54583\"}},\"id\":\"54540\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54618\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"54553\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54615\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"high\",\"nonselection_glyph\":{\"id\":\"54616\"},\"selection_glyph\":null,\"view\":{\"id\":\"54618\"}},\"id\":\"54617\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"54540\"}},\"id\":\"54672\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"yellow\",\"x\":{\"field\":\"years\"},\"y\":{\"field\":\"middle\"}},\"id\":\"54628\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"54540\"},\"glyph\":{\"id\":\"54669\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"primary\",\"nonselection_glyph\":{\"id\":\"54670\"},\"selection_glyph\":null,\"view\":{\"id\":\"54672\"}},\"id\":\"54671\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"54541\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"c7a6b571-e57a-462e-b301-47f98f713ccc\",\"root_ids\":[\"54541\"],\"roots\":{\"54541\":\"6d31d3cd-0284-4e2b-ab03-6092f0a2120a\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "54541"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "\n",
    "source = ColumnDataSource(\n",
    "    data=dict(\n",
    "        years = ['2021','2020','2019'],\n",
    "        uni = uni_teacher,\n",
    "        high= high_teacher,\n",
    "        middle= middle_teacher,\n",
    "        primary = primary_teacher\n",
    "    )\n",
    ")\n",
    "\n",
    "p = figure(\n",
    "    plot_height = 500,\n",
    "    plot_width = 800,\n",
    "    tools=\"pan,box_zoom,reset,save\",\n",
    "    title=\"2019-2021年学校专任教师数量\",\n",
    "    x_axis_label=\"年份\",\n",
    "    y_axis_label=\"数量（万人）\",\n",
    "    tooltips=[('count','@$name')]\n",
    ")\n",
    "\n",
    "p.line(x='years',y='uni',legend=\"普通高校\",name='uni',source=source)\n",
    "p.circle(x='years',y='uni',legend=\"普通高校\",fill_color=\"white\",size=8,name='uni',source=source)\n",
    "\n",
    "p.line(x='years',y='high',legend=\"普通高中\",line_color=\"green\",source=source)\n",
    "p.circle(x='years',y='high',legend=\"普通高中\",fill_color=\"white\",size=8,name=\"high\",source=source)\n",
    "\n",
    "p.line(x='years',y='middle',legend=\"初中\",line_color=\"yellow\",source=source)\n",
    "p.circle(x='years',y='middle',legend=\"初中\",fill_color=\"white\",size=8,name=\"middle\",source=source)\n",
    "\n",
    "p.line(x='years',y='primary',legend=\"普通小学\",line_color=\"pink\",source=source)\n",
    "p.circle(x='years',y='primary',legend=\"普通小学\",fill_color=\"white\",size=8,name=\"primary\",source=source)\n",
    "\n",
    "#图例设置\n",
    "p.legend.location=(1,250)\n",
    "#p.legend.orientation=\"horizontal\"\n",
    "p.legend.click_policy=\"hide\"\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 师生比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 274,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>数据库：年度数据</th>\n",
       "      <th>Unnamed: 1</th>\n",
       "      <th>Unnamed: 2</th>\n",
       "      <th>Unnamed: 3</th>\n",
       "      <th>Unnamed: 4</th>\n",
       "      <th>Unnamed: 5</th>\n",
       "      <th>Unnamed: 6</th>\n",
       "      <th>Unnamed: 7</th>\n",
       "      <th>Unnamed: 8</th>\n",
       "      <th>Unnamed: 9</th>\n",
       "      <th>Unnamed: 10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>时间：最近10年</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>指标</td>\n",
       "      <td>2021年</td>\n",
       "      <td>2020年</td>\n",
       "      <td>2019年</td>\n",
       "      <td>2018年</td>\n",
       "      <td>2017年</td>\n",
       "      <td>2016年</td>\n",
       "      <td>2015年</td>\n",
       "      <td>2014年</td>\n",
       "      <td>2013年</td>\n",
       "      <td>2012年</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>小学生师比(教师人数=1)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>16.67</td>\n",
       "      <td>16.85</td>\n",
       "      <td>16.97</td>\n",
       "      <td>16.98</td>\n",
       "      <td>17.12</td>\n",
       "      <td>17.05</td>\n",
       "      <td>16.78</td>\n",
       "      <td>16.76</td>\n",
       "      <td>17.36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>初中生师比(教师人数=1)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>12.73</td>\n",
       "      <td>12.88</td>\n",
       "      <td>12.79</td>\n",
       "      <td>12.52</td>\n",
       "      <td>12.41</td>\n",
       "      <td>12.41</td>\n",
       "      <td>12.57</td>\n",
       "      <td>12.76</td>\n",
       "      <td>13.59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>普通高中生师比(教师人数=1)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>12.9</td>\n",
       "      <td>12.99</td>\n",
       "      <td>13.1</td>\n",
       "      <td>13.39</td>\n",
       "      <td>13.65</td>\n",
       "      <td>14.01</td>\n",
       "      <td>14.44</td>\n",
       "      <td>14.95</td>\n",
       "      <td>15.47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>普通高校生师比(教师人数=1)</td>\n",
       "      <td>NaN</td>\n",
       "      <td>18.37</td>\n",
       "      <td>17.95</td>\n",
       "      <td>17.56</td>\n",
       "      <td>17.52</td>\n",
       "      <td>17.07</td>\n",
       "      <td>17.73</td>\n",
       "      <td>17.68</td>\n",
       "      <td>17.53</td>\n",
       "      <td>17.52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>数据来源：国家统计局</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          数据库：年度数据 Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5  \\\n",
       "0         时间：最近10年        NaN        NaN        NaN        NaN        NaN   \n",
       "1               指标      2021年      2020年      2019年      2018年      2017年   \n",
       "2    小学生师比(教师人数=1)        NaN      16.67      16.85      16.97      16.98   \n",
       "3    初中生师比(教师人数=1)        NaN      12.73      12.88      12.79      12.52   \n",
       "4  普通高中生师比(教师人数=1)        NaN       12.9      12.99       13.1      13.39   \n",
       "5  普通高校生师比(教师人数=1)        NaN      18.37      17.95      17.56      17.52   \n",
       "6       数据来源：国家统计局        NaN        NaN        NaN        NaN        NaN   \n",
       "\n",
       "  Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10  \n",
       "0        NaN        NaN        NaN        NaN         NaN  \n",
       "1      2016年      2015年      2014年      2013年       2012年  \n",
       "2      17.12      17.05      16.78      16.76       17.36  \n",
       "3      12.41      12.41      12.57      12.76       13.59  \n",
       "4      13.65      14.01      14.44      14.95       15.47  \n",
       "5      17.07      17.73      17.68      17.53       17.52  \n",
       "6        NaN        NaN        NaN        NaN         NaN  "
      ]
     },
     "execution_count": 274,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "proportion = pd.read_csv('师生比.csv')\n",
    "proportion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 276,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[16.67, 12.73, 12.9, 18.37]"
      ]
     },
     "execution_count": 276,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "year_2020 = proportion['Unnamed: 2'].tolist()\n",
    "del year_2020[0:2]\n",
    "del year_2020[-1]\n",
    "year_2020 = [float(x) for x in year_2020]\n",
    "year_2020"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 277,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['小学生师比(教师人数=1)', '初中生师比(教师人数=1)', '普通高中生师比(教师人数=1)', '普通高校生师比(教师人数=1)']"
      ]
     },
     "execution_count": 277,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_name = proportion['数据库：年度数据'].tolist()\n",
    "del data_name[0:2]\n",
    "del data_name[-1]\n",
    "data_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 278,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "BokehUserWarning: ColumnDataSource's columns must be of the same length. Current lengths: ('color', 5), ('data_name', 4), ('year_2020', 4)\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"c211d6eb-cd31-4e23-9815-0e762f1a58a7\" data-root-id=\"55683\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"29e0cc4b-a0d5-48b4-af8f-9f2635beed72\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"55694\"}],\"center\":[{\"id\":\"55696\"},{\"id\":\"55700\"},{\"id\":\"55730\"}],\"left\":[{\"id\":\"55697\"}],\"plot_width\":800,\"renderers\":[{\"id\":\"55720\"}],\"title\":{\"id\":\"55684\"},\"toolbar\":{\"id\":\"55709\"},\"x_range\":{\"id\":\"55686\"},\"x_scale\":{\"id\":\"55690\"},\"y_range\":{\"id\":\"55688\"},\"y_scale\":{\"id\":\"55692\"}},\"id\":\"55683\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"55702\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"55682\"}},\"id\":\"55721\",\"type\":\"CDSView\"},{\"attributes\":{\"items\":[{\"id\":\"55731\"}],\"location\":\"top_center\"},\"id\":\"55730\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"55704\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"55727\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"55726\"},\"ticker\":{\"id\":\"55698\"}},\"id\":\"55697\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"55698\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"55682\"},\"glyph\":{\"id\":\"55718\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"55719\"},\"selection_glyph\":null,\"view\":{\"id\":\"55721\"}},\"id\":\"55720\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"color\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"color\"},\"top\":{\"field\":\"year_2020\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"data_name\"}},\"id\":\"55719\",\"type\":\"VBar\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"\\u5e08\\u751f\\u6bd4\",\"@year_2020\"]]},\"id\":\"55708\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"55697\"},\"dimension\":1,\"ticker\":null},\"id\":\"55700\",\"type\":\"Grid\"},{\"attributes\":{\"label\":{\"field\":\"data_name\"},\"renderers\":[{\"id\":\"55720\"}]},\"id\":\"55731\",\"type\":\"LegendItem\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"line_color\":{\"field\":\"color\"},\"top\":{\"field\":\"year_2020\"},\"width\":{\"value\":0.8},\"x\":{\"field\":\"data_name\"}},\"id\":\"55718\",\"type\":\"VBar\"},{\"attributes\":{\"text\":\"2020\\u5e74\\u5404\\u7c7b\\u5b66\\u6821\\u5e08\\u751f\\u6bd4\\u4f8b\\u60c5\\u51b5\\uff08\\u6559\\u5e08\\u4eba\\u6570=1\\uff09\"},\"id\":\"55684\",\"type\":\"Title\"},{\"attributes\":{\"formatter\":{\"id\":\"55724\"},\"ticker\":{\"id\":\"55695\"}},\"id\":\"55694\",\"type\":\"CategoricalAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"55707\"}},\"id\":\"55703\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"55724\",\"type\":\"CategoricalTickFormatter\"},{\"attributes\":{\"data\":{\"color\":[\"#2b83ba\",\"#abdda4\",\"#ffffbf\",\"#fdae61\",\"#d7191c\"],\"data_name\":[\"\\u5c0f\\u5b66\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\",\"\\u521d\\u4e2d\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\",\"\\u666e\\u901a\\u9ad8\\u6821\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\"],\"year_2020\":[16.67,12.73,12.9,18.37]},\"selected\":{\"id\":\"55727\"},\"selection_policy\":{\"id\":\"55728\"}},\"id\":\"55682\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"55705\",\"type\":\"ResetTool\"},{\"attributes\":{\"start\":0},\"id\":\"55688\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"55726\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"55707\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"55701\"},{\"id\":\"55702\"},{\"id\":\"55703\"},{\"id\":\"55704\"},{\"id\":\"55705\"},{\"id\":\"55706\"},{\"id\":\"55708\"}]},\"id\":\"55709\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"55695\",\"type\":\"CategoricalTicker\"},{\"attributes\":{},\"id\":\"55706\",\"type\":\"HelpTool\"},{\"attributes\":{\"factors\":[\"\\u5c0f\\u5b66\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\",\"\\u521d\\u4e2d\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\",\"\\u666e\\u901a\\u9ad8\\u4e2d\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\",\"\\u666e\\u901a\\u9ad8\\u6821\\u751f\\u5e08\\u6bd4(\\u6559\\u5e08\\u4eba\\u6570=1)\"]},\"id\":\"55686\",\"type\":\"FactorRange\"},{\"attributes\":{},\"id\":\"55728\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"55692\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"55690\",\"type\":\"CategoricalScale\"},{\"attributes\":{},\"id\":\"55701\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"55694\"},\"grid_line_color\":null,\"ticker\":null},\"id\":\"55696\",\"type\":\"Grid\"}],\"root_ids\":[\"55683\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"29e0cc4b-a0d5-48b4-af8f-9f2635beed72\",\"root_ids\":[\"55683\"],\"roots\":{\"55683\":\"c211d6eb-cd31-4e23-9815-0e762f1a58a7\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "55683"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "from bokeh.palettes import Spectral5\n",
    "#数据准备\n",
    "data_name = data_name\n",
    "year_2020 = year_2020\n",
    "\n",
    "source = ColumnDataSource(\n",
    "    data = dict(\n",
    "        data_name=data_name,\n",
    "        year_2020 = year_2020,\n",
    "        color = Spectral5\n",
    "    )\n",
    ")\n",
    "\n",
    "TOOLTIPS = [\n",
    "   ( \"师生比\",\"@year_2020\")\n",
    "]\n",
    "\n",
    "p = figure(\n",
    "    x_range=data_name,\n",
    "    plot_height=600,\n",
    "    plot_width=800,\n",
    "    title = \"2020年各类学校师生比例情况（教师人数=1）\",\n",
    "    tooltips = TOOLTIPS\n",
    ")\n",
    "p.vbar(x=\"data_name\",top=\"year_2020\",width=0.8,color='color',legend='data_name',source=source)\n",
    "\n",
    "p.xgrid.grid_line_color = None\n",
    "p.y_range.start = 0\n",
    "p.legend.location = 'top_center'\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
